基于 reference 速查清单的 Windows CMD 命令实战指南:从磁盘操作到网络诊断
【免费下载链接】reference面向开发者的技术速查清单(Cheat Sheets)集合,整理常见技术、工具与开发流程,帮助快速查阅关键信息,提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/reference
本篇指南以 reference 速查清单仓库中的 CMD 备忘清单 为主体,系统梳理 Windows 命令提示符(cmd.exe)下的常用命令:磁盘与目录操作、文件属性管理、net 系列网络命令、ping/tracert/netstat 网络诊断、taskkill 进程管理,以及程序快速启动与批处理常用语句。读完后你可以:在 CMD 中独立完成格式化、文件批处理、网络连通性诊断、端口占用排查与定时关机等高频运维动作,并理解每条命令参数背后的实际语义。
速查单在仓库中的位置与适用前提
reference 是一份面向开发者的技术速查清单(Cheat Sheets)集合,基于英文版 Reference 翻译扩展而来(见 README)。本清单位于 docs/cmd.md,与其他docs/*.md文档一样,通过 package.json 中定义的refs-cli构建脚本渲染为可检索的静态速查页面(npm run start为 watch 开发模式,npm run build为构建模式,markdownlint脚本用于规范文档格式)。
适用前提与版本边界:
- 本清单针对 Windows 命令提示符(cmd.exe)环境编写,部分语法(如
ipipc$、IPC$ 空连接、net send)源自经典 NT 时代(Win2000/XP)的知识体系。从现代 Windows 系统的行为看,空口令 IPC 连接、net send等能力在较新版本中已被限制或移除,这些条目更适合作为理解共享/IPC 机制原理与老旧系统排障的参考,实际执行前请先确认目标系统版本; - 清单中部分写法沿用原文档的笔误或 Unix 风格开关(如
-F与/F),下文在对应小节逐一澄清; - 删除类命令(
del /s、rmdir /s、format /u)不可逆,生产环境执行前务必确认路径。
磁盘与目录操作
format:磁盘格式化参数
format用于格式化磁盘卷,原文档收录了四个关键开关:
| 参数 | 作用 |
|---|---|
/q | 快速格式化 |
/u | 不可恢复(全盘重写,数据无法恢复) |
/autotest | 不提示(跳过格式化后的表面测试提示) |
/s | 创建 MS-DOS 引导盘 |
原文档示例:
format c: /q /u /autotest三个开关组合的含义是:对 C 盘做快速、不可恢复且无需交互确认的格式化。注意:/u与/q叠加意味着跳过校验且数据不可恢复,这是最激进的组合,务必确认盘符无误。
dir:目录列举参数
| 参数 | 作用 |
|---|---|
/s | 查找子目录(递归列出) |
/w | 只显示文件名(宽格式) |
/p | 分页显示 |
/a | 显示隐藏文件 |
原文档示例:
dir format.exe /s作用是查找当前盘(含所有子目录)中的format.exe文件并报告其位置,是定位系统文件所在路径的最快方式。
cd / md / rd:目录导航与增删
cd可以使用相对目录或绝对目录:
| 命令 | 作用 |
|---|---|
cd .. | 进入上一个文件夹 |
cd \ | 返回根目录 |
cd c:\windows | 进入c:\windows文件夹 |
目录的创建与删除使用md(MKDIR)与rd(RMDIR):
| 命令 | 作用 |
|---|---|
md HELLOWORLD | 创建HELLOWORLD目录 |
rd HELLOWORLD | 删除HELLOWORLD目录 |
从源码结构看,md/rd只是同一命令的两套别名(MKDIR/RMDIR),在批处理脚本中可互换使用。
文件操作
rmdir:删除目录树
原文档示例:
| 命令 | 作用 |
|---|---|
rmdir c:\qqdownload /s | 删除 C 盘的qqdownload目录 |
其中/s开关的含义是"强制删除非空目录树"——不带/s时rmdir只能删除空目录。执行前请确认/s是有意为之。
del:删除文件参数
| 参数 | 作用 |
|---|---|
/f | 删除只读文件 |
/s | 删除该目录及其下的所有内容(含全部子目录) |
/q | 删除前不确认 |
原文档示例:
| 命令 | 作用 |
|---|---|
del c:\del /s /q | 自动删除 c 盘的 del 目录 |
/s /q组合是"静默递归删除",效果等同于不带确认的rmdir /s风格清理,属于高危操作。
copy:复制文件
| 命令 | 作用 |
|---|---|
copy d:\pwin98*.* c:\presetup | 将 D 盘的 pwin98 的所有文件复制到 C 盘的 presetup 下 |
通配符*.*表示该前缀下的全部文件,复制目标可以是目录(原文档示例即复制到目录)。
attrib:文件属性管理
attrib命令可以列出或修改磁盘上文件的属性。文件属性包括:文档(存档 A)、只读(R)、隐藏(H)、系统(S)。+前缀为添加属性,-前缀为去除属性。
| 命令 | 作用 |
|---|---|
attrib -h -r -s io.sys | 去掉io.sys文件的只读、隐藏、系统属性 |
attrib +h +r +s autoexec.bat | 为自动批处理文件增加以上属性 |
这是维护系统文件(如autoexec.bat、io.sys这类受系统保护的文件)前后的标准操作对:先attrib -解除保护,修改后再attrib +恢复保护。
net 命令系列
net 是 Windows 内置的"瑞士军刀",覆盖共享映射、用户管理、服务控制与网络配置。原文档将其分为两组,此处完整保留并分主题整理。
net(一):共享映射、IPC 与用户管理
| 命令 | 作用 |
|---|---|
net use ipipc$ " " /user:" " | 建立 IPC 空链接 |
net use ipipc$ "密码" /user:"用户名" | 使用指定用户名建立 IPC 非空链接 |
net use h: ipc$ "密码" /user:"用户名" | 直接登录后映射对方 C: 到本地为 H: |
net use h: ipc$ | 登录后映射对方 C: 到本地为 H: |
net use ipipc$ /del | 删除 IPC 链接 |
net use h: /del | 删除映射对方到本地的 H: 映射 |
net user 用户名 密码 /add | 建立用户 |
net user guest /active:yes | 激活 guest 用户 |
net user | 查看有哪些用户 |
net user 帐户名 | 查看帐户的属性 |
net localgroup administrators 用户名 /add | 把"用户"添加到管理员组,使其具有管理员权限 |
书写说明:原文档为节省篇幅将\\ip\ipc$简写为ipipc$,实际使用时需写为完整的 UNC 路径形式(双反斜杠 + 目标 IP +\ipc$)。原文中建立非空链接一行的引号存在笔误,正确形式应为net use \\ip\ipc$ "密码" /user:"用户名"。
机制说明:IPC$ 是 Windows 基于命名管道的远程过程调用接口,c$/d$是系统默认建立的驱动器共享。通过 IPC 建立连接后再映射c$,本质上是"先认证、再挂载远程默认共享"的两步流程。如前所述,现代 Windows 对空口令连接有严格限制。
net(二):服务、共享与网络状态
| 命令 | 作用 |
|---|---|
net start | 查看开启了哪些服务 |
net start 服务名 | 开启服务(如net start telnet、net start schedule) |
net stop 服务名 | 停止某服务 |
net pause 服务名 | 暂停某服务 |
net time 目标ip | 查看对方时间 |
net view | 查看本地局域网内开启了哪些共享 |
net view ip | 查看对方局域网内开启了哪些共享 |
net config | 显示系统网络设置 |
net ver | 局域网内正在使用的网络连接类型和信息 |
net send ip "文本信息" | 向对方发信息 |
net share | 查看本地开启的共享 |
net share ipc$ /del | 删除 ipc$ 共享 |
net share c$ /del | 删除 C: 共享 |
net user guest 12345 | 用 guest 用户登录后将其密码改为 12345 |
net password 密码 | 更改系统登录密码 |
服务三件套net start/net stop/net pause是早期 Windows 管理服务的标准手段,等价于现代sc命令的最小子集;net share系列则是排查"共享暴露面"时的第一站。
网络诊断:ping、tracert、netstat
ping 参数
原文档完整收录的 ping 开关:
| 参数 | 作用 |
|---|---|
-d | 使用 Socket 的 SO_DEBUG 功能 |
-c<完成次数> | 设置完成要求回应的次数 |
-f | 极限检测 |
-i<间隔秒数> | 指定收发信息的间隔时间 |
-I<网络界面> | 使用指定的网络界面送出数据包 |
-l<前置载入> | 设置在送出要求信息之前,先行发出的数据包 |
-n | 只输出数值 |
-p<范本样式> | 设置填满数据包的范本样式 |
-q | 不显示指令执行过程,开头和结尾的相关信息除外 |
-r | 忽略普通的 Routing Table,直接将数据包送到远端主机上 |
-R | 记录路由过程 |
-s<数据包大小> | 设置数据包的大小 |
-t<存活数值> | 设置存活数值 TTL 的大小 |
-v | 详细显示指令的执行过程 |
注意:上表是清单原文收录的参数集合,其中-c、-l、-p等短横线小写风格与部分 Windows 版ping /n、/l、/4的斜杠大写风格不同(Windows 版 ping 实际使用/n、/l、/t等开关)。清单保留了原书写形态,实际执行请以ping /?的输出为准。
tracert 参数
| 参数 | 作用 |
|---|---|
-d | 不将地址解析成主机名 |
-h maximum_hops | 搜索目标的最大跃点数,默认 30 |
-w timeout | 等待每个回复的超时时间(以毫秒为单位) |
-R | 跟踪往返行程路径(仅适用于 IPv6) |
-S srcaddr | 要使用的源地址(仅适用于 IPv6) |
-4 | 强制使用 IPv4 |
-6 | 强制使用 IPv6 |
排查跨网段连通性时,tracert -d 目标ip(跳过 DNS 反解)能显著缩短输出时间。
netstat 与 nbtstat:端口与连接排查
原文档收录:
| 命令 | 作用 |
|---|---|
netstat -a | 查看开启了哪些端口,常用netstat -an |
netstat -n | 查看端口的网络连接情况,常用netstat -an |
netstat -v | 查看正在进行的工作 |
netstat -p 协议名 | 例:netstat -p tcp/ip查看某协议使用情况 |
netstat -s | 查看正在使用的所有协议使用情况 |
nbtstat -A ip | 对方 136 到 139 中某个端口开了的话,就可查看对方最近登录的用户名 |
澄清:原文档中netstat -p tcq/ip的tcq为笔误,协议名应为tcp。netstat -an(全部连接 + 数值形式显示地址)是端口排查的事实标准组合;nbtstat则用于 NetBIOS 层信息查看,依赖 136–139 端口,同样受现代系统默认防火墙策略限制。仓库内另有专题速查单 Netstat 备忘清单,可配合本表深入参数细节。
进程管理:taskkill 与端口占用排查流水线
原文档收录的 taskkill 参数(其中/f一行原文缺少闭合反引号,此处已按语义修正):
| 参数 | 作用 |
|---|---|
taskkill /f | 强制终止进程(最常用,防止进程无响应) |
taskkill /im 映像名 | 通过进程名称结束,例如:taskkill /im notepad.exe |
taskkill /pid 进程号 | 通过 PID 结束,通常配合netstat -ano查询到的 PID 使用 |
taskkill /t | 终止指定的进程及其子进程 |
taskkill /s 远程IP | 结束远程指定机器上的任务 |
原文档特别点出了/pid与netstat -ano的配合关系。将清单中已有的findstr(见下文"其他(三)")也纳入组合,可以得到一条完整的"端口占用排查流水线":
netstat -ano | findstr :8080 taskkill /f /pid 12345第一步列出占用 8080 端口的连接并得到 PID,第二步用/f强制结束该进程。/t适合需要连子进程一并清理的场景(如杀父进程时残留子进程)。
启动程序与系统控制
CMD 的"程序快捷启动"能力来自直接输入程序名或 MSC 控制台名,无需经过开始菜单。
启动程序(一)
| 命令 | 作用 |
|---|---|
appwiz.cpl | 程序和功能 |
calc | 启动计算器 |
certmgr.msc | 证书管理实用程序 |
charmap | 启动字符映射表 |
chkdsk.exe | Chkdsk 磁盘检查(管理员身份运行命令提示符) |
cleanmgr | 打开磁盘清理工具 |
cliconfg | SQL Server 客户端网络实用工具 |
cmstp | 连接管理器配置文件安装程序 |
compmgmt.msc | 计算机管理 |
comexp.msc | 打开系统组件服务 |
control | 控制面板 |
启动程序(二)
| 命令 | 作用 |
|---|---|
dcomcnfg | 打开系统组件服务 |
devmgmt.msc | 设备管理器 |
diskmgmt.msc | 磁盘管理 |
eventvwr | 事件查看器 |
explorer | 打开资源管理器 |
Firewall.cpl | Windows 防火墙 |
fsmgmt.msc | 共享文件夹管理器 |
hdwwiz.cpl | 设备管理器 |
lusrmgr.msc | 本地用户和组 |
Msra | 远程协助 |
mstsc | 远程桌面连接 |
notepad | 打开记事本 |
shrpubw | 创建共享文件夹 |
命名规律可以归纳为三类:直接程序名(calc、mstsc、eventvwr)、MSC 管理控制台(compmgmt.msc、diskmgmt.msc,即"Microsoft Management Console"快照)、CPL 控制面板项(appwiz.cpl、Firewall.cpl)。记住这个规律,遇到记不住的入口时可以直接用dir *.msc在当前系统盘检索可用的控制台。
自动关机、重启与锁屏
| 命令 | 作用 |
|---|---|
shutdown -s -t 600 | 表示 600 秒后自动关机 |
shutdown -a | 可取消定时关机 |
shutdown -r -t 600 | 表示 600 秒后自动重启 |
rundll32 user32.dll, LockWorkStation | 表示锁定计算机 |
-s(关机)与-r(重启)配合-t <秒数>构成延时动作,-a用于撤销已排定的延时关机,三者构成完整的定时电源控制闭环。
其他实用命令
其他(一):网络与文件杂项
| 命令 | 作用 |
|---|---|
ipconfig (winipcfg) | 查看本地 IP,可加/all |
kill -F 进程名 | 加 -F 参数后强制结束某进程 |
del -F 文件名 | 加 -F 参数可删除只读文件 |
move 源路径文件 目的路径 | 移动文件,可修改文件名 |
fc one.txt two.txt > 3st.txt | 对比文件并输出到 3st.txt |
finger username @host | 查看最近用户登录 |
telnet | 进入本机的 telnet |
telnet ip 端口 | 远程登录服务器,默认端口为 23 |
澄清:Windows CMD 的开关惯用斜杠形式(del /f、move本身无 -F),清单此处的-F写法沿用原文档的 Unix 风格表述;kill与finger并非 Windows 默认内置命令(finger需系统额外提供),实际强制结束进程请优先使用上文taskkill /f,文件对比fc与move则为原生命令。
其他(二):环境变量与批处理基础
| 命令 | 作用 |
|---|---|
copy c:srv.exe ipadmin$ | 复制本地 c:srv.exe 到对方的 admin 下 |
set | 显示当前所有的环境变量 |
set 环境变量名称=变量的字符 | 添加环境变量 |
set p(或其它字符) | 显示出当前以字符 p(或其它字符)开头的所有环境变量 |
pause | 暂停批处理程序,并显示出:请按任意键继续… |
echo on/off | 打开或关闭 echo,仅用 echo 不加参数则显示当前 echo 设置 |
echo 信息 | 在屏幕上显示出信息 |
set的三种形态覆盖了环境变量的"读、写、模糊过滤"(set p*前缀过滤),echo on/off控制批处理中命令回显,pause是脚本与用户交互的暂停点。
其他(三):文本搜索、注册表与权限
| 命令 | 作用 |
|---|---|
echo 信息 >> pass.txt | 将"信息"保存到 pass.txt 文件中(>>为追加) |
findstr "Hello" aa.txt | 在 aa.txt 文件中寻找字符串 hello |
find 文件名 | 查找某文件 |
regedit /s | 注册表文件名 导入注册表;参数 /s 指安静模式导入,无任何提示 |
regedit /e | 注册表文件名 导出注册表 |
cacls 文件名 | 查看文件的访问用户权限列表 |
REM 文本内容 | 在批处理文件中添加注解 |
netsh | 查看或更改本地网络配置情况 |
这一组是批处理脚本的核心构件:>>重定向追加写文件、findstr做字符串匹配(可与netstat组合,如前文端口排查示例)、regedit /s静默导入.reg实现注册表自动化、REM写脚本注释、netsh处理网络配置。
组合实战:一个只用清单内命令的批处理示例
把上文"其他(二)(三)"的构件组合起来,可以得到一个仅使用清单内命令的示例脚本(保存为check.bat后双击或在 CMD 中运行):
@echo off REM 检查 8080 端口占用并记录到日志 set PORT=8080 netstat -ano | findstr :%PORT% > port_8080.txt echo 检查完成,结果已写入 port_8080.txt pause脚本使用了清单内的echo off(关闭回显)、REM(注释)、set(变量)、netstat -ano、findstr与pause,展示了速查清单各条目之间的真实组合关系。
易错点与版本差异汇总
| 易错点 | 说明 |
|---|---|
rmdir c:\qqdownload/s | /s表示强制删除非空目录树,误用时删除范围远超单目录 |
del /s /q | 静默递归删除,原文档示例"自动删除 c 盘的 del 目录"实际会清掉目录下全部文件,不可恢复 |
format /u | 与/q叠加后为最快但最不可逆的组合 |
netstat -p tcq/ip | 原文笔误,协议名应为tcp |
taskkill /f行 | 原文缺少闭合反引号,语义为"强制终止进程" |
IPC$ /net send系列 | 现代 Windows 默认限制或移除,执行前确认系统版本 |
-F//F | Windows CMD 惯用斜杠开关,清单中-F为原文保留写法 |
延伸阅读
本清单是 reference 仓库中 Windows 命令行速查的一部分,与同仓库的以下文档互为补充:
- PowerShell 备忘清单:动词-名词风格的现代 PowerShell 常用命令,适合替代本清单中的服务与网络管理场景;
- Netstat 备忘清单:连接与端口诊断的专题展开;
- Linux 命令备忘:Linux 侧对应能力(进程、网络、文件)的速查。
以上文档与 docs/cmd.md 一同由 package.json 中的refs-cli工具链构建渲染,文档格式受markdownlint脚本约束,可在仓库中直接查阅源码。
【免费下载链接】reference面向开发者的技术速查清单(Cheat Sheets)集合,整理常见技术、工具与开发流程,帮助快速查阅关键信息,提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/reference
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考