WindowsCMD / 命令提示符初学者8个核心模块 + 综合实训

Windows 命令提示符 CMD 初学者学习计划

从认识命令提示符窗口开始,逐步掌握目录与文件操作、批处理脚本、变量与环境、常用系统与网络命令,最终能编写小工具脚本完成文件批处理、网络诊断和日常运维任务。

📋一、整体学习路线

推荐按"窗口与命令 → 目录 → 文件 → 批处理 → 进阶"逐步学习。CMD 看似老旧,但仍是排查问题、写小工具、自动化运维的利器。

8核心学习模块
1综合实训项目
30+必须掌握的常用命令
从零开始面向 Windows 初学者
认识 CMD目录路径 文件操作批处理基础 变量与环境系统命令 批处理进阶网络命令
模块学习内容建议时间最终能力
第1部分认识命令提示符1课时能正确打开和切换 CMD
第2部分目录与路径1课时熟练切换、创建、删除目录
第3部分文件操作2课时复制、移动、删除、重命名、查看文件
第4部分批处理 (.bat) 基础2课时编写并运行简单批处理
第5部分变量与环境1课时使用 set、环境变量与 PATH
第6部分常用系统命令2课时查看进程、系统信息、磁盘
第7部分批处理进阶2课时if、for、goto、参数传递
第8部分网络与高级用法2课时诊断网络、管理用户与服务

📖 关键术语速览

CMDWindows 自带的命令行解释器(cmd.exe),执行字符串命令并返回结果。
PowerShell微软新一代命令行工具,功能更强(支持对象、管道);CMD 更适合初学者和脚本兼容性场景。
绝对路径 / 相对路径绝对路径从盘符开始,如 C:\Windows\System32;相对路径从当前目录开始,如 ..\Docs
通配符* 匹配任意多个字符;? 匹配单个字符。如 *.txt 匹配所有 .txt 文件。
管道与重定向| 把左边输出作为右边输入;> 覆盖写文件、>> 追加写文件、< 从文件读。
批处理 (.bat)把多条命令放入 .bat 文件中双击或调用即可顺序执行。

💻① 认识命令提示符 (CMD)

学习目标:理解 CMD 是什么,能用多种方式打开并切换窗口。

📌 打开 CMD 的 5 种方式

在开始菜单搜索 cmd,按回车。
Win+R,输入 cmd,回车。
在文件资源管理器地址栏输入 cmd,回车 —— 当前位置即当前目录。
右键开始菜单 → 终端(管理员)Windows Terminal (管理员)
在任务管理器 → 文件 → 运行新任务,输入 cmd

📌 窗口结构

标题栏:显示当前窗口标题(如"命令提示符"或自定义标题)。
菜单栏:右键标题栏可调出"属性"——字体、颜色、缓冲区大小都在这里调。
命令提示符:类似 C:\Users\你的名字>,闪烁光标后输入命令。
缓冲区:超出窗口的文字会保留,可向上滚查看历史。

⌨️ 必备快捷键

/ 历史命令 / 光标移动 Ctrl+C 中断当前命令 Ctrl+V 粘贴(标题栏右键 → 属性可启用) Ctrl+A 全选(新版支持) F1F9 历史命令片段 Tab 自动补全文件名 Esc 清空当前行

🔑 必须掌握

5 种方式打开 CMD
区分普通与管理员模式
修改窗口属性(字体/颜色/大小)
历史命令调用
Tab 自动补全
右键粘贴(属性开启后)
区别:普通 CMD 不能修改系统级设置;遇到"拒绝访问"时,用管理员身份重新打开
小贴士:在窗口标题右键 → 属性,勾选"快速编辑模式"和"插入模式",可像记事本一样选中、复制、粘贴文字。

📂② 目录与路径

📌 核心命令速查

命令作用示例
盘符:切换盘符D: 切到 D 盘
cd切换目录cd Windows\System32
cd ..返回上级目录
cd \回到当前盘符根目录
dir列出当前目录内容dir /w 宽格式
md / mkdir创建目录md Projects\demo
rd / rmdir删除空目录rd temp
rd /s /q递归删除非空目录rd /s /q oldfolder
tree显示目录树tree /f 含文件
pushd / popd切换并记忆目录嵌套调用时方便

📌 实操示例

C:\Users\Demo>cd \ C:\>md Projects\batch-demo C:\>cd Projects\batch-demo C:\Projects\batch-demo>dir /w Volume in drive C has no label. Volume Serial Number is XXXX-XXXX Directory of C:\Projects\batch-demo [.] [..] 0 File(s) 0 bytes 2 Dir(s) 50,000,000,000 bytes free

📌 路径语法要点

反斜杠:Windows 路径用 \(不是 /)。
不区分大小写cd windowscd Windows 等价。
空格需加引号cd "Program Files"
当前目录. 表示,父目录..
常见错误:rd /s /q folder 删除不可恢复 —— 不会进回收站!使用前务必确认路径。

📄③ 文件操作

📌 文件命令速查

命令作用示例
copy复制文件copy a.txt b.txt
move移动/重命名move a.txt D:\backup\
del / erase删除文件del *.tmp
ren / rename重命名ren old.txt new.txt
type显示文本内容type readme.txt
more分页显示type big.txt | more
attrib查看/修改属性attrib +r file.txt 设为只读
xcopy增强复制(目录)xcopy /E src dst
robocopy高级同步工具robocopy src dst /MIR

📌 通配符用法

C:\data>dir *.txt REM 列出所有 .txt 文件 C:\data>dir file?.log REM 匹配 file1.log、fileA.log 等单个字符 C:\data>del *.tmp REM 批量删除临时文件 C:\data>copy *.txt D:\backup\ REM 复制所有 txt 文件

📌 重定向与管道

输出到文件:dir > list.txt(覆盖)/ dir >> list.txt(追加)
从文件输入:sort < unsorted.txt
管道串联命令:dir /b | findstr ".txt"dir 的输出交给 findstr 过滤
练习:新建 C:\lab 目录,复制几个文件到里面,用 del *.tmp 删除临时文件,最后用 dir > file.log 把列表输出到文件。

📜④ 批处理 (.bat) 基础

把多条命令写进 .bat 文件里,双击即可批量执行——这是"自动化"的入门。

📌 创建第一个批处理

右键桌面 → 新建 → 文本文档,命名为 hello.bat
右键 → 编辑,用记事本打开。
输入下面的内容并保存。
双击运行,观察效果。
@echo off REM 这是我的第一个批处理 title Hello Demo color 0a echo ============================================ echo 欢迎来到 CMD 批处理世界! echo 当前时间:%date% %time% echo ============================================ pause

📌 常用批处理命令

命令作用
@echo off关闭命令回显(开头一般加 @ 隐藏这一行本身)
echo 文本输出文本
echo.输出一个空行
pause暂停并显示"按任意键继续…"
pause >NUL暂停但不显示提示
rem 注释注释(不执行)
title 标题修改窗口标题
color 0a黑底亮绿字(前景 0=黑,背景 a=亮绿)
cls清屏
start 程序启动程序或打开文件
exit退出批处理

📌 颜色对照(前景/背景)

0=黑1=蓝2=绿3=湖蓝4=红5=紫
6=黄7=白8=灰9=亮蓝a=亮绿b=亮青
c=亮红d=亮紫e=亮黄f=亮白color 1f 表示蓝底亮白字
小贴士:批处理文件默认编码是 ANSI。如果你的脚本里有中文,另存为 UTF-8 with BOMGB18030 才不会乱码;记事本直接保存通常是 GB18030,可以正常显示。

🔧⑤ 变量与环境

📌 自定义变量

C:\>set name=Alice C:\>echo Hello %name%! Hello Alice! C:\>set name= REM 删除变量
注意:set 命令的等号两边不要加空格!set name = Alice 会创建名为 "name " 的变量,而不是 "name"。

📌 常见环境变量

变量含义示例
%USERPROFILE%当前用户目录C:\Users\Alice
%SYSTEMROOT%系统根目录C:\WINDOWS
%PATH%可执行文件搜索路径多个路径用 ; 分隔
%TEMP% / %TMP%临时目录C:\Users\Al...\AppData\Local\Temp
%COMPUTERNAME%计算机名DESKTOP-ABC123
%OS%操作系统Windows_NT
%PROCESSOR_ARCHITECTURE%CPU 架构AMD64
%DATE% / %TIME%当前日期/时间格式取决于区域设置
%RANDOM%0–32767 随机数适合做临时文件名

📌 查看与修改 PATH

C:\>echo %PATH% REM 显示当前 PATH C:\>set PATH=%PATH%;D:\mybin REM 临时追加(仅当前窗口) C:\>setx PATH "%PATH%;D:\mybin" /M REM 永久修改(需管理员)

📌 转义特殊字符

&<>| 等字符在批处理中有特殊含义,需要用 ^ 转义:echo a ^> b 输出 a > b
练习:set 设置变量 MYDIR=C:\Projects,再用 %MYDIR% 拼接路径,结合 cd 切换过去。

🖥️⑥ 常用系统命令

📌 系统信息

命令作用
systeminfo显示系统详细信息(OS 版本、内存、补丁等)
hostname显示计算机名
whoami显示当前用户名
echo %USERNAME%另一种显示用户名的方式
ver显示 Windows 版本
msinfo32打开"系统信息"图形界面

📌 进程管理

C:\>tasklist REM 列出所有进程 C:\>tasklist | findstr "notepad" REM 过滤出 notepad C:\>taskkill /IM notepad.exe /F REM 强制结束 notepad C:\>taskkill /PID 1234 /F REM 按 PID 结束

📌 磁盘与文件检查

命令作用
chkdsk C:检查 C 盘错误
chkdsk C: /F检查并修复错误(需重启)
sfc /scannow扫描并修复系统文件(需管理员)
diskpart进入磁盘分区工具(危险,谨慎!)
defrag C: /O优化 C 盘
cleanmgr打开磁盘清理

📌 服务管理

C:\>sc query REM 列出所有服务 C:\>sc query Spooler REM 查看打印服务状态 C:\>sc start Spooler REM 启动服务 C:\>sc stop Spooler REM 停止服务

📌 关机、重启、注销

C:\>shutdown /s /t 0 REM 立即关机 C:\>shutdown /r /t 0 REM 立即重启 C:\>shutdown /a REM 取消已计划的关机 C:\>shutdown /l REM 注销当前用户
危险命令:rd /s /q C:\del /f /s /q C:\*diskpart clean —— 这些会把系统破坏干净,永远不要在你不熟悉的路径下执行

🔁⑦ 批处理进阶:if / for / goto

📌 if 条件判断

@echo off REM 判断文件是否存在 if exist "C:\data\report.txt" ( echo 文件存在 ) else ( echo 文件不存在 ) REM 比较字符串 set answer=yes if "%answer%"=="yes" ( echo 你同意了 ) REM 根据错误级别判断 ping -n 1 127.0.0.1 >NUL if errorlevel 1 ( echo 网络不通 )

📌 for 循环

REM 遍历文件 for %i in (*.txt) do echo %i REM 遍历数字 for /l %n in (1,1,5) do echo 第 %n 次 REM 读取文件每一行 for /f "tokens=*" %l in (list.txt) do echo 处理: %l REM 递归遍历子目录 for /r C:\data %f in (*.log) do echo %f
注意:在批处理文件中,%i 要写成 %%i(两个百分号)。

📌 goto 与 call

@echo off :start echo 1. 查看时间 echo 2. 退出 set /p choice=请选择: if "%choice%"=="1" goto showtime if "%choice%"=="2" exit goto start :showtime echo 现在是 %time% pause goto start

📌 参数传递 %1 ~ %9

在批处理文件中,%1 表示第一个参数,%2 第二个,以此类推。
例:backup.bat C:\data D:\backup%1C:\data%2D:\backup
小贴士:现代 Windows 推荐用 PowerShell 处理复杂逻辑;批处理适合做启动脚本和小工具。

🌐⑧ 网络与高级用法

📌 网络诊断四件套

C:\>ipconfig REM 查看本机 IP、子网掩码、网关 C:\>ipconfig /all REM 查看 DNS、MAC 等详细信息 C:\>ipconfig /flushdns REM 清空 DNS 缓存 C:\>ping www.baidu.com REM 测试到百度的连通性 C:\>ping 8.8.8.8 -t REM 持续 ping,按 Ctrl+C 停止 C:\>tracert www.baidu.com REM 跟踪到目标的每一跳 C:\>nslookup www.baidu.com REM 查询 DNS 解析

📌 连接与端口

C:\>netstat -an REM 显示所有连接和监听端口 C:\>netstat -ano | findstr ":80" REM 查找 80 端口的进程 C:\>arp -a REM 查看 ARP 缓存表 C:\>route print REM 查看路由表

📌 用户与共享管理(net 命令)

C:\>net user REM 列出所有用户 C:\>net user Alice REM 查看 Alice 用户信息 C:\>net user Bob 123 /add REM 添加用户 Bob(密码 123) C:\>net localgroup REM 列出所有本地组 C:\>net share REM 列出本机共享 C:\>net use Z: \\server\share REM 映射网络驱动器

📌 文件下载(PowerShell 辅助)

C:\>powershell -Command "Invoke-WebRequest https://x.com/file.zip -OutFile file.zip"
小贴士:Windows 10/11 自带 curltar 命令,可以直接在 CMD 里下载文件和解压 tar 包。

📌 远程连接

远程桌面:mstsc 打开远程桌面连接
SSH(Win10+):ssh user@host
旧版 Telnet:需要先在"启用或关闭 Windows 功能"中开启 Telnet 客户端

🎯综合实训:编写"日常运维小工具箱"

完成 8 个模块后,写一个真正的批处理小工具,检验学习成果。

📌 项目:磁盘空间清理脚本

编写 cleanup.bat,实现以下功能:

  • 显示当前时间和剩余磁盘空间
  • 询问用户是否清理临时文件(%TEMP%
  • 如同意,删除 %TEMP%\*,输出清理了多少字节
  • 询问是否清空 DNS 缓存
  • 询问是否执行磁盘检查(只读模式,不实际修复)
  • 最后输出"清理完成"并暂停

📌 示例实现(参考)

@echo off chcp 65001 >NUL title 系统维护小工具 v1.0 color 0b :menu cls echo ============================================ echo 系统维护小工具 v1.0 echo 当前时间:%date% %time% echo ============================================ echo. echo [1] 查看磁盘空间 echo [2] 清理临时文件 echo [3] 清理 DNS 缓存 echo [4] 查看网络信息 echo [5] 退出 echo. set /p opt=请选择(1-5): if "%opt%"=="1" goto disk if "%opt%"=="2" goto temp if "%opt%"=="3" goto dns if "%opt%"=="4" goto net if "%opt%"=="5" exit goto menu :disk echo. echo 磁盘空间信息: wmic logicaldisk where "DriveType=3" get Caption,FreeSpace,Size /format:list pause goto menu :temp echo. set /p yn=确认清理临时文件吗?(Y/N) if /i not "%yn%"=="Y" goto menu echo 正在清理... del /f /s /q "%TEMP%\*.*" 2>NUL echo 清理完成! pause goto menu :dns ipconfig /flushdns pause goto menu :net ipconfig /all | more pause goto menu

📌 拓展任务(可选)

把上面脚本保存为 cleanup.bat 并实际运行
添加"自动备份桌面到 D:\backup"功能
for /f 遍历并打印所有环境变量
tasklist 找出占用内存最多的 5 个进程
写一个开机自动清理脚本(放入"启动"文件夹)
把脚本改成 PowerShell 版本(.ps1

📈 CMD 核心知识体系

层次核心内容学习重点
第一层:窗口与命令打开 CMD、命令格式、内置命令熟练使用 dir / cd / cls / exit
第二层:目录与文件路径操作、通配符、复制移动删除理解相对/绝对路径
第三层:批处理基础.bat 文件、echo/pause/rem/cls/title/color能写简单自动化脚本
第四层:变量与环境set、%var%、环境变量、PATH让脚本"可配置"
第五层:系统与网络ipconfig/ping/tasklist/systeminfo独立排查日常问题
第六层:批处理进阶if/for/goto/call、参数传递写真正的工具箱
第七层:高级netsh/net/robocopy/PowerShell 衔接迈向脚本开发