快捷键大全

系统运维

Windows 运维命令大全

PowerShell 与 CMD 的系统信息、进程服务、网络、防火墙、账户权限、磁盘和故障恢复命令。

174 条8 个分区更新 2026-10-2348 条危险操作

先看安全提示

涉及 diskpart、format、bcdedit、注册表删除、防火墙放行、ACL 修改和关机重启的命令必须先确认目标与备份。

显示 174 / 174 条

系统信息

12 条

先记录系统版本、补丁和硬件信息,便于比对与回滚。

系统信息命令表
命令 / 语法说明示例平台来源
systeminfo
输出 Windows 版本、补丁、内存、网卡等摘要。 systeminfo CMD Microsoft Learn · systeminfo
ver
只输出当前 Windows 版本号,适合快速确认系统代际。 ver CMD Microsoft Learn · ver
driverquery
driverquery [/v] [/fo <format>]
列出已安装驱动、显示名称、类型和运行状态。 driverquery /v /fo table CMD Microsoft Learn · driverquery
chcp
chcp [code-page]
查看或切换控制台代码页;65001 表示 UTF-8。 chcp 65001 CMD Microsoft Learn · chcp
Get-ComputerInfo
PowerShell 的系统与硬件信息对象,可筛选字段。 Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, CsTotalPhysicalMemory PowerShell Microsoft Learn · Get-ComputerInfo
Get-CimInstance Win32_OperatingSystem
读取操作系统版本、安装时间和最后启动时间。 Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, LastBootUpTime PowerShell Microsoft Learn · Get-CimInstance
Get-Process
Get-Process [-Name <name>]
列出进程及 CPU、内存占用,可按名称过滤。 Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 PowerShell Microsoft Learn · Get-Process
Get-HotFix
Get-HotFix [-Id <KB>]
列出已安装的系统补丁、安装日期和安装来源。 Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10 PowerShell Microsoft Learn · Get-HotFix
hostname
输出本机计算机名,适合脚本中快速读取。 hostname CMD Microsoft Learn · hostname
Win32_BIOS
Get-CimInstance Win32_BIOS
读取 BIOS 厂商、版本、序列号和发布日期。 Get-CimInstance Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion, SerialNumber PowerShell Microsoft Learn · Get-CimInstance
Win32_Processor
Get-CimInstance Win32_Processor
查看 CPU 型号、核心数、逻辑处理器数和当前时钟。 Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors PowerShell Microsoft Learn · Get-CimInstance
Win32_LogicalDisk
Get-CimInstance Win32_LogicalDisk -Filter "DriveType=3"
读取本地固定磁盘的容量、剩余空间和文件系统。 Get-CimInstance Win32_LogicalDisk -Filter "DriveType=3" | Select-Object DeviceID, Size, FreeSpace PowerShell Microsoft Learn · Get-CimInstance

进程与服务

25 条

停止服务或进程前先确认影响范围;生产机优先使用服务管理器或变更流程。

进程与服务命令表
命令 / 语法说明示例平台来源
tasklist
tasklist [/FI <filter>]
CMD 下列出进程;/FI 可按 PID、映像名筛选。 tasklist /FI "IMAGENAME eq chrome.exe" CMD Microsoft Learn · tasklist
tasklist /svc
tasklist /svc [/FI <filter>]
列出进程及其承载的 Windows 服务,便于定位服务宿主。 tasklist /svc /FI "IMAGENAME eq svchost.exe" CMD Microsoft Learn · tasklist
Stop-Process
Stop-Process -Name <name> [-Force]
危险强制结束进程可能造成未保存数据丢失。
按名称或 PID 停止进程;-Force 会跳过确认。 Stop-Process -Name notepad -Force PowerShell Microsoft Learn · Stop-Process
taskkill
taskkill /PID <pid> [/F] [/T]
危险/F 强制结束,/T 会连带结束子进程。
按 PID 结束进程;/T 同时结束子进程。 taskkill /PID 1234 /F /T CMD Microsoft Learn · taskkill
Get-Service
Get-Service [-Name <name>]
查看服务状态、启动类型和依赖关系。 Get-Service | Where-Object Status -eq 'Running' PowerShell Microsoft Learn · Get-Service
Restart-Service
Restart-Service -Name <name>
危险重启服务会短暂中断依赖它的功能。
重启指定服务;可能需要管理员权限。 Restart-Service -Name Spooler PowerShell Microsoft Learn · Restart-Service
sc query
sc query <service>
查询服务状态;sc 与 PowerShell 的 Get-Service 不同。 sc query Spooler CMD Microsoft Learn · sc
sc start
sc start <service>
启动服务;服务名不是显示名,需先用 sc query 确认。 sc start Spooler CMD Microsoft Learn · sc
sc stop
sc stop <service>
危险停止关键服务会中断业务,生产机先确认依赖和回滚方式。
停止服务;依赖该服务的功能会中断。 sc stop Spooler CMD Microsoft Learn · sc
sc config
sc config <service> start= <auto|demand|disabled>
危险禁用关键服务可能导致系统功能或应用无法启动。
修改服务启动类型;等号后必须有空格。 sc config Spooler start= demand CMD Microsoft Learn · sc
net start
net start [service]
列出运行中的服务,或启动指定服务。 net start Spooler CMD SS64 · net start
net stop
net stop <service>
危险停止服务会影响依赖组件;/y 会跳过确认。
停止指定服务,并提示仍依赖它的服务。 net stop Spooler CMD SS64 · net stop
Get-WinEvent
Get-WinEvent -LogName <log> [-MaxEvents <n>]
读取事件日志,适合排查启动、崩溃和策略问题。 Get-WinEvent -LogName System -MaxEvents 20 PowerShell Microsoft Learn · Get-WinEvent
Get-ScheduledTask
Get-ScheduledTask [-TaskName <name>]
查看计划任务及其状态。 Get-ScheduledTask | Where-Object State -eq 'Ready' PowerShell Microsoft Learn · Get-ScheduledTask
Register-ScheduledTask
Register-ScheduledTask -TaskName <name> -Action <action> -Trigger <trigger>
注册计划任务;通常先构造 Action、Trigger 和 Principal。 $a=New-ScheduledTaskAction -Execute 'notepad.exe'; Register-ScheduledTask -TaskName 'OpenNotepad' -Action $a PowerShell Microsoft Learn · Register-ScheduledTask
Start-Service
Start-Service -Name <name>
启动已停止的服务;依赖服务未就绪时可能失败。 Start-Service -Name Spooler PowerShell Microsoft Learn · Start-Service
Stop-Service
Stop-Service -Name <name> [-Force]
危险停止关键服务会中断业务;-Force 还会影响依赖服务。
停止服务;-Force 会同时停止依赖该服务的服务。 Stop-Service -Name Spooler PowerShell Microsoft Learn · Stop-Service
Set-Service
Set-Service -Name <name> -StartupType <type>
危险禁用关键服务可能导致系统功能或应用无法启动。
修改服务启动类型,如 Automatic、Manual、Disabled。 Set-Service -Name Spooler -StartupType Manual PowerShell Microsoft Learn · Set-Service
schtasks
schtasks /query [/tn <name>] [/fo LIST]
CMD 查询计划任务;/run 立即运行,/end 结束任务。 schtasks /query /tn "\Microsoft\Windows\Defrag\ScheduledDefrag" /v /fo LIST CMD Microsoft Learn · schtasks
schtasks /create
schtasks /create /tn <name> /tr <command> /sc <schedule>
危险任务会按配置自动执行;确认命令路径、运行账户和触发时间。
创建计划任务;/sc 支持 DAILY、WEEKLY、ONLOGON 等。 schtasks /create /tn "DailyBackup" /tr "D:\scripts\backup.cmd" /sc daily /st 02:00 CMD Microsoft Learn · schtasks
schtasks /run
schtasks /run /tn <name>
立即运行已注册的计划任务。 schtasks /run /tn "DailyBackup" CMD Microsoft Learn · schtasks
schtasks /delete
schtasks /delete /tn <name> [/f]
危险删除后任务不会自动恢复;先导出或记录任务配置。
删除计划任务;/f 跳过确认。 schtasks /delete /tn "DailyBackup" /f CMD Microsoft Learn · schtasks
start
start "" <program> [args]
在新窗口启动程序、文件或 URL;空标题可避免路径被当作窗口标题。 start "" notepad.exe D:\logs\app.log CMD Microsoft Learn · start
timeout
timeout /t <seconds> [/nobreak]
在批处理中等待指定秒数;/nobreak 忽略按键。 timeout /t 10 /nobreak CMD Microsoft Learn · timeout
Start-ScheduledTask
Start-ScheduledTask -TaskName <name>
立即触发计划任务,适合验证任务动作和权限。 Start-ScheduledTask -TaskName 'OpenNotepad' PowerShell Microsoft Learn · Start-ScheduledTask

网络

31 条

先看地址与 DNS,再看端口和路由;不要用“重置网络”代替定位。确需重置时先记录 ipconfig /all、route print 和 Wi-Fi 配置,完成后重启。

网络命令表
命令 / 语法说明示例平台来源
ipconfig /all
查看所有适配器的 IP、网关、DNS、DHCP 和 MAC 地址。 ipconfig /all CMD Microsoft Learn · ipconfig
ipconfig /release
ipconfig [/release [adapter]]
危险会暂时断开网络,远程操作时可能失去连接。
释放 DHCP 地址;执行后该适配器可能暂时断网。 ipconfig /release CMD Microsoft Learn · ipconfig
ipconfig /renew
ipconfig [/renew [adapter]]
向 DHCP 服务器重新申请地址。 ipconfig /renew CMD Microsoft Learn · ipconfig
ipconfig /displaydns
显示本机 DNS 缓存中的记录和 TTL。 ipconfig /displaydns CMD Microsoft Learn · ipconfig
ipconfig /flushdns
清空本机 DNS 解析缓存。 ipconfig /flushdns CMD Microsoft Learn · ipconfig
netstat -ano
查看活动连接、监听端口和对应 PID。 netstat -ano | findstr :443 CMD Microsoft Learn · netstat
Test-NetConnection
Test-NetConnection <host> -Port <port>
测试目标主机的指定 TCP 端口是否可达。 Test-NetConnection zuhejian.com -Port 443 PowerShell Microsoft Learn · Test-NetConnection
Get-NetTCPConnection
Get-NetTCPConnection [-State Listen]
查看 TCP 连接和监听状态,可关联 OwningProcess。 Get-NetTCPConnection -State Listen | Sort-Object LocalPort PowerShell Microsoft Learn · Get-NetTCPConnection
Get-NetIPConfiguration
查看接口、IPv4/IPv6 地址、网关和 DNS。 Get-NetIPConfiguration PowerShell Microsoft Learn · Get-NetIPConfiguration
nslookup
nslookup <domain> [dns-server]
查询域名解析,可指定 DNS 服务器对比结果。 nslookup zuhejian.com 1.1.1.1 CMD Microsoft Learn · nslookup
Test-Connection
Test-Connection <host> -Count <n>
PowerShell 的 ping 替代品,返回结构化对象而不是纯文本。 Test-Connection zuhejian.com -Count 4 PowerShell Microsoft Learn · Test-Connection
Resolve-DnsName
Resolve-DnsName <domain> [-Type <type>]
查询 A、AAAA、CNAME、MX、TXT 等 DNS 记录。 Resolve-DnsName zuhejian.com -Type A PowerShell Microsoft Learn · Resolve-DnsName
Clear-DnsClientCache
清空 Windows DNS 客户端缓存,等价于 ipconfig /flushdns。 Clear-DnsClientCache PowerShell Microsoft Learn · Clear-DnsClientCache
Get-DnsClientServerAddress
Get-DnsClientServerAddress -AddressFamily IPv4
按接口查看当前使用的 DNS 服务器地址。 Get-DnsClientServerAddress -AddressFamily IPv4 PowerShell Microsoft Learn · Get-DnsClientServerAddress
Get-NetAdapter
Get-NetAdapter [-Physical]
查看网卡名称、状态、速率和 MAC 地址。 Get-NetAdapter | Select-Object Name, Status, LinkSpeed, MacAddress PowerShell Microsoft Learn · Get-NetAdapter
route print
打印 IPv4/IPv6 路由表,排查默认网关和多网卡选路。 route print CMD Microsoft Learn · route
route add
route add <network> mask <mask> <gateway>
危险错误路由会导致目标网段不可达;先 route print 确认现有规则。
添加临时静态路由;重启后默认失效,持久化需加 -p。 route add 10.20.0.0 mask 255.255.0.0 192.168.1.1 CMD Microsoft Learn · route
arp -a
arp -a [interface]
查看本机 ARP 缓存,确认 IP 与 MAC 的对应关系。 arp -a CMD Microsoft Learn · arp
getmac /v
getmac /v [/fo <format>]
列出网卡 MAC 地址、传输名称和连接状态。 getmac /v /fo table CMD Microsoft Learn · getmac
ping
ping <host> [-n <count>] [-t]
测试 ICMP 连通性和延迟;-t 持续发送,Ctrl+C 停止。 ping zuhejian.com -n 4 CMD Microsoft Learn · ping
tracert
tracert [-d] <host>
逐跳显示到目标的路由;-d 不解析主机名。 tracert -d zuhejian.com CMD Microsoft Learn · tracert
pathping
pathping <host>
结合路由跟踪和丢包统计,适合定位中间节点丢包。 pathping zuhejian.com CMD Microsoft Learn · pathping
net use
net use [drive:] \\<host>\<share> [/user:<user>]
危险凭据会进入当前会话;不要在共享机器保存高权限凭据。
映射网络共享或查看现有连接;/delete 断开映射。 net use Z: \\server01\share /user:DOMAIN\user CMD SS64 · net use
net share
net share [name=<path>] [/delete]
危险创建共享会扩大访问面;删除共享会中断现有客户端。
查看、创建或删除 SMB 共享。 net share CMD SS64 · net share
net view
net view [\\<host>]
查看域或指定主机上可见的共享资源。 net view \\server01 CMD SS64 · net view
curl
curl -I <url>
Windows 10/11 自带 curl;-I 只取响应头,适合检查状态码和缓存。 curl -I https://zuhejian.com/ CMD curl · 命令行手册
netsh wlan show profiles
netsh wlan show profiles [name=<profile>] key=clear
危险key=clear 会在终端暴露 Wi-Fi 密码,避免在共享屏幕时执行。
查看已保存的 Wi-Fi 配置;key=clear 会显示明文密码。 netsh wlan show profiles CMD Microsoft Learn · netsh
netsh winsock reset
netsh winsock reset [catalog]
危险会移除第三方 LSP;重置后必须重启,VPN、代理或安全软件可能需要重新安装。
把 Winsock 目录重置为安装默认状态,修复 LSP 损坏导致的断网、代理或 VPN 异常。 netsh winsock reset CMD Microsoft Learn · netsh
netsh int ip reset
netsh int ip reset [log-file]
危险会改写 TCP/IP 注册表配置;重置后必须重启,静态 IP、路由或代理设置需重新配置。
把 TCP/IP 协议栈重置为安装状态;可附带日志路径,等价于 netsh interface ip reset。 netsh int ip reset C:\Windows\Temp\ip-reset.log CMD Microsoft Learn · netsh
netsh int ipv4 reset
netsh int ipv4 reset [log-file]
危险会重置 IPv4 配置并要求重启;执行前记录 ipconfig /all 和 route print。
只重置 IPv4 协议栈,适合 IPv4 地址、网关或路由异常且需要缩小影响范围时。 netsh int ipv4 reset %TEMP%\ipv4-reset.log CMD Microsoft Learn · netsh
netsh int ipv6 reset
netsh int ipv6 reset [log-file]
危险会重置 IPv6 配置并要求重启;双栈环境先确认业务不依赖固定 IPv6 地址。
只重置 IPv6 协议栈,用于 IPv6 地址、邻居发现或隧道异常。 netsh int ipv6 reset %TEMP%\ipv6-reset.log CMD Microsoft Learn · netsh

防火墙与远程管理

17 条

修改防火墙或启用远程管理前,先保留控制台/带外访问,避免把自己锁在机器外。

防火墙与远程管理命令表
命令 / 语法说明示例平台来源
Get-NetFirewallProfile
查看域、专用和公用网络的防火墙开关及默认策略。 Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction PowerShell Microsoft Learn · Get-NetFirewallProfile
Get-NetFirewallRule
Get-NetFirewallRule -DisplayName <name>
按显示名、方向或启用状态查询防火墙规则。 Get-NetFirewallRule -DisplayName '*Remote Desktop*' | Select-Object DisplayName, Enabled, Direction PowerShell Microsoft Learn · Get-NetFirewallRule
New-NetFirewallRule
New-NetFirewallRule -DisplayName <name> -Direction Inbound -Protocol TCP -LocalPort <port> -Action Allow
危险错误地放行入站端口会扩大攻击面;先确认端口、来源和配置文件。
创建入站或出站防火墙规则;默认会立即生效。 New-NetFirewallRule -DisplayName 'Allow HTTPS 8443' -Direction Inbound -Protocol TCP -LocalPort 8443 -Action Allow PowerShell Microsoft Learn · New-NetFirewallRule
netsh advfirewall
netsh advfirewall firewall show rule name=all
CMD 查看防火墙规则和配置文件;也可启用或禁用规则。 netsh advfirewall firewall show rule name=all CMD Microsoft Learn · netsh
netsh advfirewall firewall add rule
netsh advfirewall firewall add rule name=<name> dir=in action=allow protocol=TCP localport=<port>
危险错误放行会扩大攻击面;先确认端口、方向、协议和配置文件。
新增入站或出站规则;dir、action、protocol 必须成组确认。 netsh advfirewall firewall add rule name="HTTPS 8443" dir=in action=allow protocol=TCP localport=8443 CMD Microsoft Learn · netsh
netsh advfirewall set allprofiles state on
启用域、专用、公用三个配置文件的防火墙。 netsh advfirewall set allprofiles state on CMD Microsoft Learn · netsh
netsh advfirewall export
netsh advfirewall export <file.wfw>
导出当前防火墙策略,便于变更前备份和回滚。 netsh advfirewall export D:\backup\firewall.wfw CMD Microsoft Learn · netsh
netsh advfirewall import
netsh advfirewall import <file.wfw>
危险导入会覆盖现有策略,远程操作可能导致连接中断。
导入防火墙策略;会替换当前配置。 netsh advfirewall import D:\backup\firewall.wfw CMD Microsoft Learn · netsh
Enable-PSRemoting
Enable-PSRemoting -Force
危险会开放远程管理通道,生产环境需配合网络访问控制和凭据策略。
启用 WinRM 和 PowerShell 远程管理;会修改服务、防火墙和监听配置。 Enable-PSRemoting -Force PowerShell Microsoft Learn · Enable-PSRemoting
Enter-PSSession
Enter-PSSession -ComputerName <host> -Credential <user>
建立交互式 PowerShell 远程会话;exit 退出。 Enter-PSSession -ComputerName server01 -Credential admin PowerShell Microsoft Learn · Enter-PSSession
Invoke-Command
Invoke-Command -ComputerName <host> -ScriptBlock { <command> }
在多台主机上执行脚本块并返回结果,适合批量巡检。 Invoke-Command -ComputerName server01,server02 -ScriptBlock { Get-Service Spooler } PowerShell Microsoft Learn · Invoke-Command
winrm quickconfig
危险会开放远程管理通道;生产环境需限制来源并配置凭据策略。
快速启用 WinRM 服务、监听器和防火墙例外。 winrm quickconfig CMD Microsoft Learn · WinRM 安装与配置
winrs
winrs -r:<host> <command>
通过 WinRM 在远程主机执行单条命令。 winrs -r:server01 ipconfig /all CMD Microsoft Learn · winrs
mstsc
mstsc /v:<host> [/f] [/w:<width> /h:<height>]
启动远程桌面连接;/v 指定目标,/f 全屏。 mstsc /v:server01 /f CMD Microsoft Learn · mstsc
query session
query session [user] [/server:<host>]
查看本机或远程主机的登录会话、会话 ID 和状态。 query session CMD Microsoft Learn · query
logoff
logoff <session-id> [/server:<host>]
危险强制注销会关闭该会话中的程序并丢失未保存内容。
注销指定会话;未保存的数据会丢失。 logoff 2 CMD Microsoft Learn · logoff
Get-SmbShare
查看本机 SMB 共享、路径和描述。 Get-SmbShare | Select-Object Name, Path, Description PowerShell Microsoft Learn · Get-SmbShare

账户、权限与加密

13 条

权限变更遵循最小权限原则;修改 ACL 或 BitLocker 前确认恢复密钥和回滚方式。

账户、权限与加密命令表
命令 / 语法说明示例平台来源
Get-LocalUser
列出本机账户、启用状态和上次登录时间。 Get-LocalUser | Select-Object Name, Enabled, LastLogon PowerShell Microsoft Learn · Get-LocalUser
Get-LocalGroupMember
Get-LocalGroupMember -Group <group>
查看本地组成员,快速确认管理员权限归属。 Get-LocalGroupMember -Group Administrators PowerShell Microsoft Learn · Get-LocalGroupMember
net user
net user [username] [password] [/add] [/domain]
查看账户信息;带密码和 /add 时创建或修改账户。 net user Administrator CMD Microsoft Learn · net user
net accounts
查看密码最短长度、有效期、锁定阈值等账户策略。 net accounts CMD SS64 · net accounts
net localgroup administrators
net localgroup administrators [user] /add
危险加入管理员组等于授予本机最高权限,必须确认账户和审批。
查看本地管理员组成员,或把用户加入管理员组。 net localgroup administrators CMD SS64 · net localgroup
runas
runas /user:<user> <program>
危险会启动高权限进程;不要在不可信程序上使用管理员账户。
以其他用户身份启动程序,适合临时提权排查。 runas /user:Administrator cmd.exe CMD SS64 · runas
cmdkey /list
cmdkey /list [target]
列出当前用户保存的凭据目标;不会显示明文密码。 cmdkey /list CMD Microsoft Learn · cmdkey
whoami /priv
查看当前令牌启用的特权,如备份、调试、关机。 whoami /priv CMD Microsoft Learn · whoami
cipher /e
cipher /e <path>
危险EFS 密钥丢失后数据无法恢复,先备份证书和私钥。
对文件或目录启用 EFS 加密;/d 解密,/status 查看状态。 cipher /e D:\private CMD Microsoft Learn · cipher
certutil -hashfile
certutil -hashfile <file> <SHA256>
计算文件哈希,校验下载包或安装介质完整性。 certutil -hashfile .\installer.exe SHA256 CMD Microsoft Learn · certutil
icacls
icacls <path> [/grant <user>:<perm>] [/remove <user>]
危险错误的 ACL 可能导致服务无法读取文件或用户获得过高权限。
查看或修改 NTFS ACL;先查看再变更,避免破坏继承权限。 icacls .\site /grant "IIS_IUSRS:(OI)(CI)RX" CMD Microsoft Learn · icacls
takeown
takeown /f <path> [/r] [/d Y]
危险递归取得所有权会改变整个目录树的权限归属。
取得文件或目录所有权;/r 递归处理子项。 takeown /f .\locked-file.txt CMD Microsoft Learn · takeown
Get-BitLockerVolume
查看卷的 BitLocker 状态、加密百分比和保护器类型。 Get-BitLockerVolume | Select-Object MountPoint, VolumeStatus, EncryptionPercentage PowerShell Microsoft Learn · Get-BitLockerVolume

文件与磁盘

32 条

磁盘操作先确认盘符和设备号;格式化会清除分区数据。

文件与磁盘命令表
命令 / 语法说明示例平台来源
dir /a
dir [/a] [/s] [/b] [path]
列出目录内容;/a 含隐藏项,/s 递归,/b 只输出名称。 dir /a /s C:\Logs CMD Microsoft Learn · dir
cd /d
cd /d <path>
切换当前目录,/d 允许同时切换盘符。 cd /d D:\work\site CMD Microsoft Learn · cd
md
md <path>
创建目录;命令扩展模式下可一次创建多级目录。 md D:\backup\2026-10-23 CMD Microsoft Learn · md
rd /s /q
rd /s /q <path>
危险不会进入回收站;确认路径中没有通配符或变量展开错误。
递归删除目录且不询问,等效于删除整棵目录树。 rd /s /q D:\temp\old-build CMD Microsoft Learn · rd
del /f /q
del /f /q <files>
危险通配符会批量删除文件,执行前先用 dir 预览匹配范围。
强制删除只读文件并跳过确认;不支持直接删除目录。 del /f /q D:\temp\*.log CMD Microsoft Learn · del
copy
copy <source> <dest> [/y]
复制单个文件或合并文件;目录树请用 xcopy 或 robocopy。 copy /y .\config.ini D:\backup\config.ini CMD Microsoft Learn · copy
move
move <source> <dest>
移动文件或重命名目录;跨卷移动会先复制再删除。 move D:\build\app.exe D:\release\app.exe CMD Microsoft Learn · move
ren
ren <old-name> <new-name>
重命名文件或目录;新名称不能带路径。 ren app.log app-2026-10-23.log CMD Microsoft Learn · ren
attrib
attrib [+r|-r] [+h|-h] [+s|-s] <path>
查看或修改只读、隐藏、系统属性。 attrib +h .\private.txt CMD Microsoft Learn · attrib
where
where <pattern> [/r <dir>]
按 PATH 或指定目录查找可执行文件位置。 where python CMD Microsoft Learn · where
findstr
findstr [/s] [/i] [/n] <pattern> <files>
在文件中搜索文本或正则;/s 递归,/n 显示行号。 findstr /s /i /n "ERROR" D:\logs\*.log CMD Microsoft Learn · findstr
fc
fc <file1> <file2>
逐行比较两个文件并输出差异。 fc .\config.old .\config.new CMD Microsoft Learn · fc
type
type <file>
把文本文件内容输出到控制台;大文件建议用 more 分页。 type C:\Windows\win.ini CMD Microsoft Learn · type
tree /f
tree [/f] [path]
以树形显示目录结构;/f 同时列出文件名。 tree /f D:\project CMD Microsoft Learn · tree
robocopy /mir
robocopy <source> <dest> /MIR
危险/MIR 会删除目标端多余文件;先加 /L 预览,确认源和目标没有写反。
镜像复制目录,使目标与源一致,并删除目标中多余文件。 robocopy D:\site E:\backup\site /MIR /R:2 /W:2 CMD Microsoft Learn · robocopy
mklink /d
mklink /d <link> <target>
创建目录符号链接;/j 创建目录联接,/h 创建硬链接。 mklink /d C:\site D:\releases\current CMD Microsoft Learn · mklink
forfiles
forfiles /p <dir> /s /m <pattern> /d -<days> /c "cmd /c del @path"
危险把 echo 换成 del 前先预览 @path,确认匹配范围和保留天数。
按修改日期批量处理文件,常用来清理旧日志。 forfiles /p D:\logs /s /m *.log /d -30 /c "cmd /c echo @path" CMD Microsoft Learn · forfiles
Get-ChildItem
Get-ChildItem [-Path <path>] [-Recurse]
列出文件和目录;-Recurse 递归遍历。 Get-ChildItem C:\Logs -Recurse -File | Sort-Object LastWriteTime -Descending PowerShell Microsoft Learn · Get-ChildItem
Get-Content
Get-Content <path> [-Tail <n>]
读取文本文件;-Tail 适合查看日志末尾。 Get-Content .\app.log -Tail 50 -Wait PowerShell Microsoft Learn · Get-Content
Select-String
Select-String -Pattern <regex> -Path <files>
在文件中搜索文本或正则,类似 grep。 Select-String -Pattern 'ERROR' -Path .\*.log PowerShell Microsoft Learn · Select-String
Remove-Item
Remove-Item <path> [-Recurse] [-Force]
危险删除后默认不进入回收站;先确认路径和备份。
删除文件或目录;-Recurse 删除目录树。 Remove-Item .\temp -Recurse -Force PowerShell Microsoft Learn · Remove-Item
Get-Volume
查看卷、文件系统、剩余空间和健康状态。 Get-Volume | Select-Object DriveLetter, FileSystemLabel, SizeRemaining, Size PowerShell Microsoft Learn · Get-Volume
Get-Disk
查看磁盘编号、分区表和联机状态,为 diskpart 操作前的只读检查。 Get-Disk PowerShell Microsoft Learn · Get-Disk
chkdsk
chkdsk <volume> [/scan] [/f]
检查磁盘错误;/scan 在线扫描,/f 修复通常需要锁定卷。 chkdsk C: /scan CMD Microsoft Learn · chkdsk
diskpart
危险clean 会清除分区表。必须确认 select disk 的编号。
交互式磁盘分区工具;list disk/select disk/clean 等操作风险极高。 diskpart (先执行 list disk,确认磁盘编号) CMD Microsoft Learn · diskpart
format
format <volume> [/fs:<fs>] [/q]
危险格式化会清除目标卷数据,不能只靠撤销恢复。
格式化卷并清除其中数据。 format D: /fs:NTFS /q CMD Microsoft Learn · format
Test-Path
Test-Path <path>
检查文件、目录或注册表路径是否存在,返回布尔值。 Test-Path .\config.json PowerShell Microsoft Learn · Test-Path
Copy-Item
Copy-Item <source> <dest> [-Recurse]
复制文件或目录;-Recurse 用于目录树。 Copy-Item .\site\* D:\backup\site\ -Recurse PowerShell Microsoft Learn · Copy-Item
Compress-Archive
Compress-Archive -Path <items> -DestinationPath <zip>
把文件或目录打包为 ZIP;同名目标默认可能覆盖。 Compress-Archive -Path .\site\* -DestinationPath .\site.zip -Force PowerShell Microsoft Learn · Compress-Archive
xcopy
xcopy <source> <dest> /E /I /H /Y
CMD 复制目录树;/E 含空目录,/I 自动按目录处理目标。 xcopy D:\work E:\backup\work /E /I /H /Y CMD Microsoft Learn · xcopy
Get-Partition
Get-Partition [-DiskNumber <n>]
查看分区编号、盘符、大小和类型,为磁盘操作前确认目标。 Get-Partition | Select-Object DiskNumber, PartitionNumber, DriveLetter, Size PowerShell Microsoft Learn · Get-Partition
Format-Volume
Format-Volume -DriveLetter <letter> -FileSystem NTFS
危险格式化会清除目标卷所有数据,确认盘符前不要执行。
PowerShell 格式化卷;会清除目标卷数据。 Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel Data PowerShell Microsoft Learn · Format-Volume

维护与恢复

20 条

系统文件修复按“SFC → DISM → 重启”的顺序执行;修改启动项前先导出配置。

维护与恢复命令表
命令 / 语法说明示例平台来源
sfc /scannow
扫描并修复受保护的 Windows 系统文件,需要管理员权限。 sfc /scannow CMD Microsoft Learn · sfc
DISM /Online /Cleanup-Image /RestoreHealth
修复 Windows 映像组件存储;常与 SFC 配合。 DISM /Online /Cleanup-Image /RestoreHealth CMD Microsoft Learn · DISM
gpupdate /force
强制刷新组策略;部分策略需要注销或重启。 gpupdate /force CMD Microsoft Learn · gpupdate
whoami /all
查看当前用户、组、权限和登录标识。 whoami /all CMD Microsoft Learn · whoami
shutdown /r /t 0
shutdown /r /t <seconds>
危险会中断所有用户会话;生产机需先走变更流程。
立即重启或延时重启;默认会提示关闭应用。 shutdown /r /t 60 CMD Microsoft Learn · shutdown
bcdedit
bcdedit [/enum] [/export <file>]
危险修改启动项前先 bcdedit /export 备份。
查看或修改启动配置数据;误改可能导致系统无法启动。 bcdedit /enum CMD Microsoft Learn · bcdedit
reg delete
reg delete <key> [/v <value>] [/f]
危险注册表误删可能破坏应用或系统登录,先导出备份。
删除注册表键或值;/f 跳过确认。 reg query HKCU\Software\Vendor\App CMD Microsoft Learn · reg
wevtutil qe
wevtutil qe System /c:<count> /rd:true /f:text
从命令行读取事件日志,适合无 PowerShell 的恢复环境。 wevtutil qe System /c:20 /rd:true /f:text CMD Microsoft Learn · wevtutil
gpresult /h
gpresult /h <report.html> /f
生成组策略结果报告,确认实际生效的策略和来源。 gpresult /h .\gp-report.html /f CMD Microsoft Learn · gpresult
powercfg /batteryreport
powercfg /batteryreport /output <report.html>
生成电池健康与使用报告,包含设计容量和最近充放电记录。 powercfg /batteryreport /output .\battery.html CMD Microsoft Learn · powercfg
reagentc /info
查看 Windows 恢复环境状态和恢复分区位置。 reagentc /info CMD Microsoft Learn · reagentc
sfc /verifyonly
只校验受保护的系统文件,不自动修复,适合先确认问题范围。 sfc /verifyonly CMD Microsoft Learn · sfc
DISM /CheckHealth
DISM /Online /Cleanup-Image /CheckHealth
快速检查组件存储是否被标记为损坏,不做修复。 DISM /Online /Cleanup-Image /CheckHealth CMD Microsoft Learn · DISM
DISM /ScanHealth
DISM /Online /Cleanup-Image /ScanHealth
扫描组件存储损坏,耗时较长但不修改系统。 DISM /Online /Cleanup-Image /ScanHealth CMD Microsoft Learn · DISM
DISM /StartComponentCleanup
DISM /Online /Cleanup-Image /StartComponentCleanup
危险清理后无法卸载已安装更新;先确认回滚需求。
清理被取代的组件版本,释放 WinSxS 空间。 DISM /Online /Cleanup-Image /StartComponentCleanup CMD Microsoft Learn · DISM
bootrec /rebuildbcd
危险只应在 WinRE 中操作;误改启动配置可能导致系统无法启动。
在恢复环境中重建启动配置数据中的 Windows 启动项。 bootrec /rebuildbcd CMD SS64 · bootrec
shutdown /a
中止正在倒计时的关机或重启计划。 shutdown /a CMD Microsoft Learn · shutdown
powercfg /energy
powercfg /energy /output <report.html>
生成能耗诊断报告,定位电源、驱动和睡眠问题。 powercfg /energy /output D:\backup\energy.html CMD Microsoft Learn · powercfg
powercfg /sleepstudy
powercfg /sleepstudy /output <report.html>
生成睡眠研究报告,分析 Modern Standby 耗电。 powercfg /sleepstudy /output D:\backup\sleep.html CMD Microsoft Learn · powercfg
Get-WindowsOptionalFeature
Get-WindowsOptionalFeature -Online [-FeatureName <name>]
查询 Windows 可选功能及启用状态,常与 DISM 配合。 Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All PowerShell Microsoft Learn · Get-WindowsOptionalFeature

包管理与脚本

24 条

先查帮助再执行;批量安装、升级或远程下载前确认来源和签名。

包管理与脚本命令表
命令 / 语法说明示例平台来源
help
help [command]
列出 CMD 内置命令或查看指定命令的简要帮助。 help robocopy CMD Microsoft Learn · help
cls
清空控制台屏幕,不影响命令历史和环境变量。 cls CMD Microsoft Learn · cls
echo
echo <text> | echo off
输出文本或控制批处理回显;@echo off 常用于脚本首行。 echo Build started at %TIME% CMD Microsoft Learn · echo
exit
exit [/b <code>]
退出当前 CMD 或批处理;/b 只退出当前批处理脚本。 exit /b 0 CMD Microsoft Learn · exit
title
title <text>
修改当前控制台窗口标题,便于区分多个终端。 title Build Worker CMD Microsoft Learn · title
color
color <background><foreground>
修改控制台前后景颜色;颜色值为十六进制 0-F。 color 0A CMD Microsoft Learn · color
set
set [name[=[value]]]
查看或设置当前会话的环境变量;不带参数列出全部变量。 set PATH CMD Microsoft Learn · set
setx
setx <name> <value> [/m]
危险setx 会永久写入环境变量;误改 PATH 可能影响后续登录。
持久化用户或系统环境变量;/m 需要管理员权限。 setx APP_HOME D:\apps\demo CMD Microsoft Learn · setx
for /f
for /f "tokens=*" %%i in (<file>) do <command>
逐行读取文件或命令输出,是 CMD 批处理解析文本的核心写法。 for /f "tokens=*" %%i in (servers.txt) do ping -n 1 %%i CMD Microsoft Learn · for
if exist
if exist <path> (<command>) else (<command>)
按文件、目录或驱动器是否存在执行分支。 if exist D:\backup (echo OK) else (echo MISSING) CMD Microsoft Learn · if
reg query
reg query <key> [/v <value>] [/s]
读取注册表键和值;/s 递归查询子键。 reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion CMD Microsoft Learn · reg
reg add
reg add <key> [/v <value>] [/t <type>] [/d <data>] [/f]
危险注册表错误修改可能破坏应用或系统登录,先 reg export 备份。
新增或修改注册表值;/f 跳过确认。 reg add HKCU\Software\Demo /v Enabled /t REG_DWORD /d 1 /f CMD Microsoft Learn · reg
reg export
reg export <key> <file.reg> [/y]
导出注册表分支,作为修改前的备份。 reg export HKCU\Software\Demo D:\backup\demo.reg /y CMD Microsoft Learn · reg
reg import
reg import <file.reg>
危险导入会直接改注册表;确认 .reg 来源和内容后再执行。
导入 .reg 文件,覆盖对应的注册表键值。 reg import D:\backup\demo.reg CMD Microsoft Learn · reg
winget search
winget search <keyword>
在 WinGet 源中搜索应用,确认包 ID 后再安装。 winget search 7zip CMD Microsoft Learn · WinGet
winget install
winget install --id <package-id> -e
危险安装前确认发布者和包 ID,避免安装同名或仿冒软件。
按精确包 ID 安装应用;-e 表示 ID 精确匹配。 winget install --id 7zip.7zip -e CMD Microsoft Learn · WinGet
winget list
winget list [--id <package-id>]
列出已安装应用和可用的升级版本。 winget list --id 7zip.7zip CMD Microsoft Learn · WinGet
winget upgrade
winget upgrade [--id <package-id>] [--all]
升级指定应用或全部可升级应用。 winget upgrade --id 7zip.7zip -e CMD Microsoft Learn · WinGet
winget uninstall
winget uninstall --id <package-id> -e
危险卸载会移除应用及其配置,先确认没有业务依赖。
按精确包 ID 卸载应用。 winget uninstall --id 7zip.7zip -e CMD Microsoft Learn · WinGet
Get-Command
Get-Command <name> [-All]
查找命令、别名、函数和可执行文件的实际来源。 Get-Command ping -All PowerShell Microsoft Learn · Get-Command
Get-Help
Get-Help <command> [-Full] [-Examples]
查看 cmdlet 的参数、示例和详细说明。 Get-Help Get-ChildItem -Examples PowerShell Microsoft Learn · Get-Help
Update-Help
Update-Help [-Force]
下载并更新本机 PowerShell 帮助内容。 Update-Help -Force PowerShell Microsoft Learn · Update-Help
Invoke-WebRequest
Invoke-WebRequest <url> -OutFile <path>
通过 HTTP 下载文件或读取网页;会自动解析部分响应内容。 Invoke-WebRequest https://zuhejian.com/ -OutFile .\site.html PowerShell Microsoft Learn · Invoke-WebRequest
Export-Csv
Export-Csv -Path <file> -NoTypeInformation -Encoding UTF8
把对象导出为 CSV;-NoTypeInformation 去掉首行类型注释。 Get-Process | Select-Object Name, CPU, WorkingSet | Export-Csv .\processes.csv -NoTypeInformation -Encoding UTF8 PowerShell Microsoft Learn · Export-Csv

来源:Microsoft Learn、man7、GNU 手册及各发行版官方文档;更新 2026-10-23。