基础概念:CMD vs. PowerShell
在开始之前,需要了解 Windows 主要的两种命令行环境:

-
CMD (命令提示符)
- 前身: 继承自 MS-DOS,是 Windows 最传统的命令行工具。
- 特点: 简单、轻量级,语法比较老旧,对于一些简单的文件和目录操作,它足够了。
- 如何打开: 在开始菜单搜索
cmd或cmd.exe。
-
PowerShell
- 前身: 微软开发的现代化命令行脚本环境,旨在替代 CMD。
- 特点:
- 功能强大: 命令更直观、更一致(动词-名词格式,如
Get-Process)。 - 面向对象: 命令的输出是对象,而不是纯文本,可以方便地传递给下一个命令进行处理。
- 可扩展性: 拥有丰富的 cmdlet(读作 "command-let")和强大的脚本能力。
- 集成性: 深度集成于 Windows 系统,可以管理几乎所有方面。
- 功能强大: 命令更直观、更一致(动词-名词格式,如
- 如何打开: 在开始菜单搜索
PowerShell或Windows PowerShell。
建议: 对于新用户和复杂任务,强烈推荐学习和使用 PowerShell,但了解 CMD 仍然很有必要,因为很多旧脚本和系统工具(如 diskpart)仍然基于 CMD。
通用导航与文件管理命令 (CMD 和 PowerShell 通用)
这些命令在 CMD 和 PowerShell 中都基本相同,是日常使用频率最高的。

| 命令 | 描述 | 示例 |
|---|---|---|
cd |
Change Directory - 切换当前目录。 | cd C:\Users\YourName cd .. (返回上一级目录) cd \ (返回根目录 C:) |
dir (CMD) / ls (PowerShell) |
List - 列出当前目录下的文件和文件夹。 | dir (CMD) ls (PowerShell) ls -Force (PowerShell 显示隐藏文件) |
md / mkdir |
Make Directory - 创建新文件夹。 | md MyNewFolder mkdir "New Folder With Space" |
rd / rmdir |
Remove Directory - 删除空文件夹。 | rd MyNewFolder |
del / rm (PowerShell) |
Delete - 删除文件。 | del test.txt rm *.tmp (删除所有 .tmp 文件) |
copy |
Copy - 复制文件。 | copy source.txt destination.txt copy *.log D:\Backup\ |
move |
Move - 移动文件/文件夹,也可用于重命名。 | move old_name.txt new_name.txt move file.txt D:\NewLocation\ |
type |
Type - 显示文件内容。 | type readme.txt |
cls |
Clear Screen - 清空屏幕。 | cls |
help / man (PowerShell) |
显示命令的帮助信息。 | help cd Get-Help Get-Process (PowerShell) |
exit |
关闭当前命令行窗口。 | exit |
系统信息与网络诊断命令
| 命令 | 描述 | 示例 |
|---|---|---|
systeminfo |
显示详细的计算机硬件和软件配置信息。 | systeminfo |
ipconfig |
显示和刷新网络接口的配置信息。 | ipconfig ipconfig /all (显示详细信息) ipconfig /flushdns (刷新DNS缓存) |
ping |
测试与另一台计算机的网络连接。 | ping google.com ping 8.8.8.8 |
tracert |
显示数据包到达目标主机所经过的路由路径。 | tracert google.com |
netstat |
显示网络连接、路由表、接口统计等信息。 | netstat -an (显示所有连接和监听端口) netstat -bn (显示可执行文件) |
tasklist |
显示当前正在运行的进程列表。 | tasklist tasklist /svc (显示每个进程服务的列表) |
taskkill |
终止一个或多个正在运行的进程。 | taskkill /F /IM notepad.exe (强制关闭记事本) taskkill /PID 1234 (按进程ID关闭) |
sfc /scannow |
扫描并修复受损的 Windows 系统文件。 | sfc /scannow (需要管理员权限) |
chkdsk |
检查磁盘并尝试修复文件系统错误。 | chkdsk C: chkdsk C: /F (修复错误,需要管理员权限) |
高级与系统管理命令 (通常需要管理员权限)
| 命令 | 描述 | 示例 |
|---|---|---|
powercfg |
管理系统的电源设置。 | powercfg /a (查看当前电源状态) powercfg /sleepstudy (查看睡眠问题报告) |
wevtutil |
查看和管理 Windows 事件日志。 | wevtutil qe System /c:10 /rd:true (查询最近的10条系统日志) |
reg |
注册表操作命令行工具。 | reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft" /s (递归查询注册表项) |
diskpart |
磁盘分区管理工具。 (交互式) | diskpart 然后输入 list disk, select disk 1, clean 等命令。警告:clean 会删除磁盘所有数据! |
bcdedit |
配置启动数据 (Boot Configuration Data)。 | bcdedit /enum (列出所有启动项) |
net |
管理网络资源、用户和组。 | net user (列出所有用户) net user UserName NewPassword (修改用户密码) net start (查看正在运行的服务) |
PowerShell 特有命令 (Cmdlets)
PowerShell 的命令称为 Cmdlet,格式为 动词-名词,非常规范。
| Cmdlet | 描述 | 示例 |
|---|---|---|
Get-Process |
获取正在运行的进程。 | Get-Process Get-Process | Where-Object {$_.CPU -gt 10} (筛选CPU使用率超过10%的进程) |
Get-Service |
获取服务状态。 | Get-Service Get-Service | Where-Object {$_.Status -eq "Running"} (筛选正在运行的服务) |
Stop-Service |
停止一个服务。 | Stop-Service -Name "spooler" |
Get-EventLog |
获取 Windows 事件日志。 | Get-EventLog -LogName Application -Newest 100 (获取最近100条应用程序日志) |
Get-ChildItem |
PowerShell 版本的 dir/ls,功能更强大。 |
Get-ChildItem -Path C:\ -Recurse -Filter *.log (递归搜索C盘下所有.log文件) |
Set-ExecutionPolicy |
设置 PowerShell 脚本的执行策略。 | Set-ExecutionPolicy RemoteSigned (允许运行本地脚本,下载的脚本需要签名) |
Invoke-Item |
(别名 ii) 使用默认程序打开文件或文件夹。 |
ii . (在文件管理器中打开当前目录) ii test.txt (用默认程序打开test.txt) |
命令行技巧
-
自动补全
- CMD: 输入命令或路径的前几个字符,然后按
Tab键可以循环补全。 - PowerShell: 功能更强大,按
Tab键可以智能补全命令、参数、路径和文件名。
- CMD: 输入命令或路径的前几个字符,然后按
-
命令历史记录
- 使用 (上箭头) 和 (下箭头) 键可以浏览之前输入过的命令。
- 在 CMD 中,按
F7键会弹出一个历史命令选择窗口。
-
复制和粘贴
(图片来源网络,侵删)- 复制: 默认情况下,选中文字即可自动复制。
- 粘贴: 在 CMD 和旧版 PowerShell 中,右键点击即可粘贴,在新版 Windows Terminal 中,使用
Ctrl+V。
-
通配符
- (星号): 代表任意数量的任意字符。
del *.tmp(删除所有扩展名为 .tmp 的文件)cd Doc*(进入所有以 "Doc" 开头的文件夹中的第一个)
- (问号): 代表任意单个字符。
del user?.txt(删除 user1.txt, user2.txt ... user9.txt)
- (星号): 代表任意数量的任意字符。
-
管道符 和重定向符
>- 管道符 : 将一个命令的输出作为另一个命令的输入。
ipconfig /all | findstr "IPv4"(只显示包含 "IPv4" 的行)
- 重定向符
>: 将命令的输出保存到文件(覆盖原文件)。ipconfig /all > my_network_info.txt
- 追加符
>>: 将命令的输出追加到文件末尾(不覆盖原文件)。echo %date% >> log.txt(将当前日期追加到 log.txt)
- 管道符 : 将一个命令的输出作为另一个命令的输入。
如何以管理员身份运行
很多系统管理命令都需要管理员权限才能执行,有两种常用方法:
- 搜索法: 在开始菜单搜索
cmd或PowerShell,然后在结果上右键点击,选择“以管理员身份运行”。 - 文件夹法: 进入
C:\Windows\System32文件夹,找到cmd.exe或powershell.exe,右键点击,选择“以管理员身份运行”。
希望这份指南对您有帮助!命令行是一个功能强大的工具,多加练习就能熟练掌握,建议从 cd, dir, mkdir, copy 等基础命令开始,逐步尝试更复杂的操作。
