一、什么是cmd?
cmd是Windows系统下的命令行界面,可以通过快捷键Win+R调出运行框,输入"cmd"并按回车键来启动它。

cmd与Linux下的命令行类似,具备强大的功能,包括文件管理、网络操作、文本查看和进程管理等。虽然与Linux的命令行不同,但在Windows环境下,某些命令依然可以帮助我们解决问题,提升工作效率。
二、常用命令
进入目录的命令是
cd,列出目录下的文件使用
dir。
/A 显示具有指定属性的文件。
属性 D 目录 R 只读文件 H 隐藏文件
A 准备存档的文件 S 系统文件 I 无内容索引文件
L 解析点 - 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。
/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来禁用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
排列顺序 N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 反转顺序的前缀
/P 在每个信息屏幕后暂停。
/Q 显示文件所有者。
/R 显示文件的备用数据流。
/S 显示指定目录和所有子目录中的文件。
/T 控制显示或用来分类的时间字符域。
时间段 C 创建时间 A 上次访问时间
W 上次写入的时间
/W 用宽列表格式。
/X 显示为非 8.3 文件名产生的短名称。格式是 /N 的格式,短名称插在长名称前面。如果没有短名称,在其位置则显示空白。
/4 用四位数字显示年递归列出路径下以"doc"结尾的文件,可以使用以下命令:
dir /s /b *.doc
查看本地路径下的目录,可以使用
dir命令。复制文件使用
copy,复制目录使用
xcopy,剪切文件或目录使用
move,重命名文件或目录使用
ren,替换文件使用
replace。
replace /a 路径一 路径二 # 将文件添加到新位置,类似于复制
自定义cmd界面
更改cmd窗口标题使用
title,设置窗口大小(宽度、高度)使用
mode,设置cmd的背景和字体颜色使用
color。
0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 A = 淡绿色 3 = 浅绿色 B = 淡浅绿色 4 = 红色 C = 淡红色 5 = 紫色 D = 淡紫色 6 = 黄色 E = 淡黄色 7 = 白色 F = 亮白色
变量设置
设置变量,使用
set命令。以
name变量为例:
@echo off set /p name=请输入一个数字 echo 你输入的数字是:%name% pause >nul
释放变量使用
set name=。常用参数包括
set /a用于表达式计算,
set /p用于从命令行获取用户输入。
特殊字符和逻辑结构
特殊字符包括
|(管道符号),
&(类似于and),
&&(前一个命令执行成功后才执行后一个命令),
||(前一个命令执行失败后才执行后一个命令),
()(用于美观和分隔)。
# dir执行成功打印success,否则打印false dir && echo success || echo false
通配符中,
?代表单个字符,
*代表任意数量的字符。
逻辑结构使用
if命令:
if exist 文件名 (echo 文件存在) else (echo 文件不存在) if "字符串1" == "字符串2" (echo 相等) else (echo 不相等) if defined str (echo 变量已定义) else (echo 变量未定义) if 数值1 equ 数值2 (echo 相等) else (echo 不相等)
条件符包括
equ(等于),
gtr(大于),
geq(大于或等于),
lss(小于),
leq(小于或等于),
neq(不等于)。
for循环的语法格式:
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。在批处理程序中使用
for命令时,变量请使用
%%variable而不是
%variable。变量名称是区分大小写的。
重定向操作符
输出重定向使用
>,追加输出使用
>>。
句柄的数字代码描述
0:键盘输入 1:输出到命令提示符窗口 2:错误输出
网络命令
ping命令用于测试网络连接:
ping host -t # 持续ping ping host -n count # 发送指定数量的数据包
ipconfig命令用于查看和管理网络配置:
ipconfig /all # 查看所有网络配置信息 ipconfig /renew # 更新所有适配器,重新获取IP ipconfig /release # 释放IP ipconfig /flushdns # 刷新DNS
netstat命令显示当前网络协议连接情况。
net命令用于管理网络资源:
net user # 查看用户信息 lusrmgr.msc # 图形用户管理 net localgroup # 本地用户组管理 net share netsh
高级命令
attrib命令用于改变文件属性。
goto命令用于跳转到批处理文件中的标签:
goto part1 :part1 echo test exit
call命令用于调用其他批处理程序,
start命令用于启动新窗口运行程序。
net use命令用于管理IPC连接:
net use \\remote_machine\IPC$ /user:username password # 建立空连接 net use \\remote_machine\IPC$ /user:username password # 建立非空连接 net use z: \\remote_machine\c$ # 映射对方C盘到本地Z盘 net use \\remote_machine\IPC$ /del # 删除一个IPC$连接 net use z: /del # 删除共享映射
reg命令用于管理注册表:
REG Operation [Parameter List]
Operation [ QUERY | ADD | DELETE | COPY |
SAVE | LOAD | UNLOAD | RESTORE |
COMPARE | EXPORT | IMPORT | FLAGS ]案例
在内网中使用
ping命令查找存活主机:
@echo off
for /l %%i in (1,1,254) do (
ping -n 1 -w 100 192.168.1.%%i | find "TTL=" && echo 192.168.1.%%i is alive
)
pause批量创建文件或文件夹:
@echo off
for /l %%i in (1,1,10) do (
echo. > file%%i.txt
mkdir folder%%i
)
pause批量找出特定后缀的文件名:
@echo off
for /r %%f in (*.txt) do (
echo %%f
)
pause在文件中检索关键字:
@echo off set /p name=请输入你要搜索的内容: type test.txt | findstr %name% if %name%==exit (goto end) else (goto start) :end exit pause >nul
设置IP和查看基本信息
| 命令 | 功能 |
|---|---|
| winver | 系统信息 |
| gpedit.msc | 组策略 |
| regedit.exe | 注册表 |
| eventvwr | 事件查看器 |
| lusrmgr.msc | 用户组查看器 |
| services.msc | 本地服务设置 |
| devmgmt.msc | 设备管理器 |
| compmgmt.msc | 计算机管理 |
| diskmgmt.msc | 磁盘管理实用程序 |
常用工具
| 命令 | 功能 |
|---|---|
| regedt32 | 注册表编辑器 |
| calc | 启动计算器 |
| taskmgr | 任务管理器 |
| mmc | 打开控制台 |
| write | 写字板 |
| notepad | 打开记事本 |
| mspaint | 画图板 |
| mstsc | 远程桌面连接 |
| charmap | 启动字符映射表 |
| osk | 打开屏幕键盘 |
| magnify | 放大镜实用程序 |
| mplayer2 | 媒体播放机 |










