windows 常见的cmd备忘录
Windows CMD 常用命令速查手册
适用:Windows 10 / 11 的
cmd.exe(部分命令在 PowerShell 也可用)。
约定:<...>表示需替换的参数;#之后为说明。
提示:以管理员身份运行 CMD ——Win + R→ 输入cmd→Ctrl + Shift + Enter。
目录
- 1. 帮助与基础
- 2. 目录与文件操作
- 3. 查找与搜索
- 4. 文件内容查看与编辑
- 5. 系统信息
- 6. 进程与服务
- 7. 网络相关
- 8. 用户与权限
- 9. 磁盘与分区
- 10. 环境变量
- 11. 计划任务
- 12. 实用小技巧
- 13. 常见场景实战
1. 帮助与基础
help :: 列出所有内置命令 help dir :: 查看某条命令的帮助 dir /? :: 等价写法 cls :: 清屏 exit :: 关闭当前 CMD 窗口 ver :: 显示 Windows 版本 chcp 65001 :: 切换控制台为 UTF-8,解决中文乱码场景:中文文件名显示为???或乱码 → 先执行chcp 65001。
2. 目录与文件操作
:: 切换盘符 d: :: 切换目录 cd C:\Users\Public cd .. :: 上一级 cd \ :: 当前盘符根目录 :: 查看当前路径 cd echo %cd% :: 列出目录内容 dir :: 普通列出 dir /a :: 含隐藏文件 dir /s :: 递归子目录 dir /b :: 仅文件名(适合脚本) dir *.log /b /s :: 递归搜索所有 .log 文件 :: 新建目录 mkdir myfolder mkdir a\b\c :: 递归创建 :: 删除目录 rmdir myfolder :: 仅删空目录 rmdir /s /q myfolder :: 递归 + 静默删除 :: 文件操作 type nul > a.txt :: 新建空文件 copy a.txt b.txt :: 复制 xcopy src dst /E /I /Y :: 复制目录(含子目录) move a.txt newdir\ :: 移动 / 改名 ren old.txt new.txt :: 重命名 del a.txt :: 删除文件 del /q /s *.tmp :: 静默递归删除场景:清理项目里的临时文件:
del /q /s *.tmp *.bak场景:拷贝整个目录到 D 盘备份:
xcopy "C:\Project" "D:\Backup\Project" /E /I /Y3. 查找与搜索
:: 在文件内容里查找字符串 findstr "TODO" *.js :: 在当前目录所有 js 中找 findstr /S /I "password" *.* :: 递归 + 忽略大小写 findstr /R "^error" log.txt :: 正则匹配以 error 开头的行 findstr /N "import" App.tsx :: 显示行号 :: 在文件系统中查找文件 dir /s /b "C:\*.config" :: 找所有 .config where node :: 查找可执行文件路径 where /R C:\ python.exe :: 在 C 盘递归查找场景:搜某段代码是在哪里被引用:
findstr /S /I /N "useEventList" *.ts *.tsx4. 文件内容查看与编辑
type a.txt :: 输出文件内容 more a.txt :: 分页查看 notepad a.txt :: 用记事本打开 start a.txt :: 用默认程序打开 fc a.txt b.txt :: 比较两个文件差异 echo Hello > a.txt :: 写入(覆盖) echo World >> a.txt :: 追加5. 系统信息
systeminfo :: 系统全部信息(CPU/内存/补丁等) hostname :: 计算机名 whoami :: 当前用户 whoami /priv :: 当前账户权限 wmic os get caption,version :: 系统名与版本 wmic cpu get name :: CPU 型号 wmic memorychip get capacity :: 内存条容量 driverquery :: 已安装驱动列表 powercfg /batteryreport :: 生成电池健康报告(笔记本)场景:远程同事让你截图系统版本:
ver systeminfo | findstr /B /C:"OS Name" /C:"OS Version"6. 进程与服务
:: 进程 tasklist :: 列出所有进程 tasklist | findstr node :: 仅看 node 进程 tasklist /FI "IMAGENAME eq chrome.exe" taskkill /PID 1234 /F :: 按 PID 强制结束 taskkill /IM node.exe /F :: 按进程名强制结束 taskkill /IM chrome.exe /T /F :: 含子进程 :: 服务 sc query :: 列出全部服务 sc query state= running :: 仅运行中的服务 sc start <ServiceName> :: 启动服务 sc stop <ServiceName> :: 停止服务 sc config <ServiceName> start= auto :: 设置开机自启场景:端口被占用,找到并干掉进程:
netstat -ano | findstr :3000 :: 假设占用 3000 的 PID 是 12345 taskkill /PID 12345 /F7. 网络相关
ipconfig :: 查看 IP / 网关 / DNS ipconfig /all :: 详细信息(含 MAC) ipconfig /flushdns :: 清 DNS 缓存 ipconfig /release :: 释放当前 IP ipconfig /renew :: 重新获取 IP ping baidu.com :: 测连通性 ping -t baidu.com :: 持续 ping,Ctrl+C 退出 ping -n 4 baidu.com :: 发送 4 个包 tracert baidu.com :: 路由跟踪 pathping baidu.com :: 路由 + 丢包统计 nslookup baidu.com :: DNS 解析 nslookup baidu.com 8.8.8.8 :: 指定 DNS 服务器 netstat -ano :: 所有连接 + PID netstat -ano | findstr LISTENING :: 仅监听中的端口 netstat -ano | findstr :8080 :: 查看某端口被谁占用 arp -a :: ARP 缓存表 route print :: 路由表 netsh wlan show profiles :: 已保存的 WiFi 列表 netsh wlan show profile name="WiFi名" key=clear :: 查看 WiFi 密码场景:网络打不开网页:
ipconfig /flushdns ping 8.8.8.8 :: 测能否到外网 ping baidu.com :: 测 DNS 是否正常场景:查看本机 WiFi 密码:
netsh wlan show profile name="MyWiFi" key=clear | findstr "关键内容"8. 用户与权限
net user :: 列出本机用户 net user <username> :: 查看某用户详情 net user <username> <password> /add :: 新增用户 net user <username> /delete :: 删除用户 net localgroup administrators :: 查看管理员组成员 net localgroup administrators <username> /add :: 加入管理员组 runas /user:Administrator cmd :: 用管理员身份开启 CMD9. 磁盘与分区
chkdsk C: :: 检查 C 盘错误 chkdsk C: /F :: 修复错误(重启时) sfc /scannow :: 扫描并修复系统文件(管理员) dism /Online /Cleanup-Image /RestoreHealth :: 修复系统映像 diskpart :: 进入磁盘管理交互 list disk select disk 1 list partition exit format D: /FS:NTFS /Q :: 格式化(危险) fsutil volume diskfree C: :: 查看 C 盘剩余空间场景:系统异常先做一次自检:
sfc /scannow dism /Online /Cleanup-Image /RestoreHealth10. 环境变量
set :: 列出所有环境变量 set PATH :: 查看 PATH set NODE_ENV=production :: 临时设置(仅当前会话) echo %JAVA_HOME% :: 查看某个变量 :: 永久设置(管理员) setx JAVA_HOME "C:\Java\jdk17" setx PATH "%PATH%;C:\Java\jdk17\bin" /M :: /M 写入系统级注意:
setx设置后新开窗口才生效;原窗口仍是旧值。
11. 计划任务
:: 创建计划任务(每天 9:00 运行) schtasks /Create /SC DAILY /TN "MyBackup" /TR "D:\backup.bat" /ST 09:00 :: 立即运行 schtasks /Run /TN "MyBackup" :: 查看 schtasks /Query /TN "MyBackup" :: 删除 schtasks /Delete /TN "MyBackup" /F12. 实用小技巧
:: 多命令串行执行 cmd1 & cmd2 :: cmd1 执行完后执行 cmd2(无论成败) cmd1 && cmd2 :: cmd1 成功才执行 cmd2 cmd1 || cmd2 :: cmd1 失败才执行 cmd2 :: 把输出重定向到文件 dir > list.txt :: 覆盖写 dir >> list.txt :: 追加写 ipconfig 2> err.txt :: 仅错误输出 command > out.txt 2>&1 :: 标准 + 错误一起重定向 :: 管道 tasklist | findstr chrome :: 历史命令 / 自动补全 F7 :: 弹出历史命令列表 Tab :: 路径自动补全 ↑ / ↓ :: 翻历史命令 doskey /history :: 列出本次会话所有命令 :: 在资源管理器中打开当前目录 start . :: 复制输出到剪贴板 ipconfig | clip13. 常见场景实战
13.1 端口被占用,无法启动服务
netstat -ano | findstr :3000 taskkill /PID <PID> /F13.2 删除顽固目录(如node_modules)
rmdir /s /q node_modules如果还报"目录不为空",可先关闭占用它的编辑器/终端,再执行。
13.3 批量重命名(把 .txt 改成 .md)
ren *.txt *.md13.4 测试某 URL 是否能访问
curl -I https://www.baidu.com :: Win10/11 已内置 curl13.5 一键备份当前目录到 D 盘
xcopy "%cd%" "D:\Backup\%date:~0,10%" /E /I /Y13.6 查看启动项
wmic startup get caption,command13.7 找出大文件(用 PowerShell 配合)
powershell -Command "Get-ChildItem -Recurse | Sort-Object Length -Descending | Select-Object -First 10 FullName,Length"13.8 关机 / 重启 / 注销
shutdown /s /t 0 :: 立即关机 shutdown /r /t 0 :: 立即重启 shutdown /l :: 注销 shutdown /a :: 取消已计划的关机 shutdown /s /t 3600 /c "1 小时后关机"13.9 修复 Hosts 文件被劫持
notepad C:\Windows\System32\drivers\etc\hosts ipconfig /flushdns13.10 一行查看本机所有 IPv4 地址
ipconfig | findstr IPv4附:CMD vs PowerShell 简易对照
| CMD | PowerShell | 说明 |
|---|---|---|
dir | Get-ChildItem/ls | 列出目录 |
cd | Set-Location/cd | 切换目录 |
del | Remove-Item/rm | 删除 |
copy | Copy-Item/cp | 复制 |
type | Get-Content/cat | 查看文件 |
cls | Clear-Host/cls | 清屏 |
tasklist | Get-Process/ps | 进程列表 |
taskkill | Stop-Process | 结束进程 |
set | $env:VAR | 环境变量 |
findstr | Select-String | 文本搜索 |
在 PowerShell 里执行 CMD 命令,可直接输入;执行 .bat 脚本同理。
反过来,CMD 里要执行 PowerShell 命令:powershell -Command "..."。
