CMD 实用命令大全
一、文件及文件夹相关命令
1.cd:更改当前目录。
示例:进入名为"Documents"的文件夹(位于"Username"用户的目录下)。
cd C:\Users\Username\Documents
2.cd ..:返回上一级目录。
示例:假设当前在C:\Users\Username\Documents,执行cd ..后,将返回C:\Users\Username。
cd ..
3.**cd **:返回根目录。
示例:在任意目录下执行cd \,将返回C:\(假设在C盘)。
cd \
4.dir:列出当前目录中的文件和文件夹。
示例:在C:\Users\Username下执行dir,将列出该目录下的所有文件和文件夹。
dir
5.md 或 mkdir:创建新文件夹。
示例:在当前目录下创建一个名为"NewFolder"的文件夹。
md NewFolder mkdir NewFolder
6.rd 或 rmdir:删除文件夹(需为空或使用/s参数删除非空文件夹)。
示例:强制删除名为"EmptyFolder"的文件夹及其内容。
rd /s /q EmptyFolder rmdir /s /q EmptyFolder
7.del:删除文件。
示例:删除名为"oldfile.txt"的文件。使用/q参数可以静默删除,不提示确认,如del /q oldfile.txt。
del oldfile.txt
8.copy:复制文件或文件夹。
示例:将"source.txt"复制并重命名为"destination.txt"。如果要复制整个文件夹,可以使用 xcopy 或 robocopy 。
copy source.txt destination.txt
9.move:移动文件或文件夹。
示例:将"oldfolder"移动并重命名为"newfolder"。
move oldfolder newfolder
10.ren 或 rename:重命名文件或文件夹。
示例:将"oldname.txt"重命名为"newname.txt"。
ren oldname.txt newname.txt
11.attrib:显示或更改文件和目录的属性。
示例:将"file.txt"设置为隐藏文件。
attrib +h file.txt
12.xcopy:高级复制命令,用于复制文件和目录树。
示例:将"source_folder"及其所有子目录和文件复制到"destination_folder",包括空目录。
xcopy source_folder destination_folder /E /I
13.robocopy:更高级的文件和目录复制工具。
示例:镜像复制"source"到"destination",即完全复制并替换"destination"的内容。
robocopy source destination /MIR
14.comp:比较两个文件或文件集的内容。
示例:比较"file1.txt"和"file2.txt"的内容。
comp file1.txt file2.txt
15.replace:替换文件中的字符串(较少使用,需注意其潜在风险)。
示例:
replace "old_string" "new_string" -- file.txt
二、查看设备信息相关命令
1.systeminfo:显示有关计算机硬件和操作系统的详细配置信息。
示例:列出所有系统信息。
systeminfo
2.wmic cpu get name,currentclockspeed:使用WMIC命令查看CPU的名称和当前时钟速度。
示例:执行后显示CPU名称和当前频率。
wmic cpu get name,currentclockspeed
3.wmic memorychip get capacity,speed:使用WMIC命令查看内存芯片的容量和速度。
示例:执行后列出每个内存条的容量和速度。
wmic memorychip get capacity,speed
4.ipconfig:显示当前网络连接的配置信息。
示例:列出IP地址、子网掩码、默认网关等。
ipconfig
5.ping:测试与另一台计算机的网络连接。
示例:测试与"www.example.com"的连接。
ping www.example.com
6.tracert:跟踪数据包到目标主机的路由路径。
示例:显示到"www.example.com"的路由路径。
tracert www.example.com
7.nslookup:查询DNS记录。
示例:查询"www.example.com"的DNS信息。
nslookup www.example.com
8.chkdsk:检查磁盘上的文件系统错误。
示例:检查C盘并修复发现的错误(通常需要在重启时执行)。
chkdsk C: /f
9.diskpart:磁盘分区管理工具。
示例:进入diskpart环境后,可以执行list disk列出所有磁盘。
diskpar
10.msinfo32:打开系统信息窗口(非直接在CMD中执行)。
示例:打开图形界面的系统信息窗口。
msinfo32
11.dxdiag:DirectX诊断工具(非直接在CMD中执行,但可通过CMD启动)。
示例:打开DirectX诊断工具窗口。
dxdiag
三、系统管理与维护相关命令
1.shutdown:关闭或重启计算机。
示例:shutdown /s /t 30 在30秒后关机;shutdown /r /t 30 在30秒后重启。
shutdown /s /t 30 shutdown /r /t 30
2.tasklist:显示当前运行的所有进程。
示例:列出所有进程及其PID。
tasklist
3.taskkill:结束一个或多个进程。
示例:强制结束名为"notepad.exe"的进程。
taskkill /IM notepad.exe /F
4.sfc /scannow:扫描并修复系统文件。
示例:扫描系统文件并尝试修复损坏的文件。
sfc /scannow
5.cleanmgr:打开磁盘清理工具。
示例:打开磁盘清理向导。
cleanmgr
6.defrag(在Windows 10及更高版本中已被“优化驱动器”取代):整理磁盘碎片。
示例(假设在旧版Windows中):整理C盘的碎片。
defrag C:
7.bcdedit:管理启动配置数据(BCD)存储。
示例:列出所有启动项。
bcdedit /enum
8.msconfig:打开系统配置实用程序。
示例:打开系统配置窗口,可管理启动项、服务等。
msconfig
9.compmgmt.msc:打开计算机管理控制台。
示例: 打开计算机管理窗口。
compmgmt.msc
10.diskmgmt.msc:打开磁盘管理工具。
示例:打开磁盘管理窗口。
diskmgmt.msc
四、网络配置与诊断相关命令
1.ipconfig /release 和 ipconfig /renew:释放和重新获取网络适配器的IP地址。
示例:ipconfig /release 释放IP地址;ipconfig /renew 重新获取IP地址。
ipconfig /release ipconfig /renew
2.netstat:显示网络连接、路由表和网络接口统计信息。
示例:netstat 显示活动连接和监听端口;netstat -an 显示所有连接和监听端口。
netstat netstat -an
3.net use:连接到一个共享资源。
示例:连接共享资源为Z盘。
net use Z: \\servername\sharename /user:username password
4.net share:显示或创建共享资源。
示例:net share 列出所有共享;net share foldername=C:\path\to\folder 创建共享。
net share net share foldername=C:\path\to\folder
5.net stop 和 net start:停止和启动网络服务。
示例:net stop spooler 停止打印服务;net start spooler 启动打印服务。
net stop spooler net start spooler
6.telnet:远程登录到另一台计算机(需先启用Telnet客户端)。
示例:远程登录到"servername"。
telnet servername
7.ftp:文件传输协议客户端。
示例:进入FTP客户端后,使用open ftp.example.com连接到FTP服务器。
open ftp.example.com
8.arp -a:显示ARP表。
示例:显示IP地址和物理地址的映射。
arp -a
9.route print:显示IP路由表。
示例:列出所有路由信息。
route print
五、系统安全相关命令
1.net localgroup:管理本地组。
示例:net localgroup Administrators 显示管理员组成员;net localgroup Administrators username /add 将用户添加到管理员组。
net localgroup Administrators net localgroup Administrators username /add
2.sc:服务控制命令,用于管理服务(启动、停止、配置等)。
示例:sc start serviceName 启动名为"serviceName"的服务;sc stop serviceName 停止服务。
sc start serviceName sc stop serviceName
3.secedit:配置和分析系统安全策略。
示例:secedit /export /cfg security_policy.cfg 导出当前安全策略到文件;secedit /configure /db security_template.sdb /cfg security_policy.cfg 应用安全策略配置文件。
secedit /export /cfg security_policy.cfg secedit /configure /db security_template.sdb /cfg security_policy.cfg
4.cipher:加密和解密文件和目录(通常用于EFS加密)。
示例:加密"C:\folder"目录及其内容。
cipher /E C:\folder
5.netsh:网络配置脚本和命令行工具。
示例:netsh wlan show profiles 显示已保存的无线网络配置文件;netsh advfirewall firewall add rule name="AllowPort80" dir=in action=allow protocol=TCP localport=80 添加允许TCP 80端口的入站规则。
netsh wlan show profiles netsh advfirewall firewall add rule name="AllowPort80" dir=in action=allow protocol=TCP localport=80
6.schtasks:计划任务命令,用于创建、删除、查询和管理计划任务。
示例:创建每日9点执行的计划任务。
schtasks /create /tn "My Task" /tr "C:\Program Files\App\app.exe" /sc daily /st 09:00
7.bitsadmin:后台智能传输服务(BITS)管理工具,用于传输文件。
示例:创建一个下载任务。
bitsadmin /create /displayname MyDownloadJob /download /url http://example.com/file.zip /destination C:\Downloads\file.zip
8.eventvwr:打开事件查看器(非直接在CMD中执行,但可通过CMD启动)。
示例:打开事件查看器窗口,用于查看系统、应用程序和安全日志。
eventvwr
六、高级命令与脚本
1.powershell:启动Windows PowerShell环境,用于执行更复杂的脚本和命令。
示例:powershell 进入PowerShell环境;powershell -Command "Get-Process" 在CMD中直接执行PowerShell命令。
powershell powershell -Command "Get-Process"
2.cmd /c:从CMD中执行单个命令并退出。
示例:在CMD中执行dir命令后关闭CMD窗口。
cmd /c dir
3.cmd /k:从CMD中执行单个命令但保持窗口打开。
示例:在CMD中执行dir命令后保持CMD窗口打开。
cmd /k dir
4.start:启动一个单独的窗口来运行指定的程序或命令。
示例:在新窗口中打开记事本。
start notepad.exe
5.for:循环命令,用于遍历文件、目录或数字范围。
示例:在CMD中循环输出1到10的数字。
for /L %i in (1,1,10) do echo %i
6.if:条件判断命令,用于根据条件执行不同的命令。
示例:检查文件是否存在并输出相应信息。
if exist C:\file.txt (echo File exists) else (echo File does not exist)
7.set:设置或显示环境变量。
示例:set MYVAR=Hello 设置环境变量MYVAR为Hello;echo %MYVAR% 显示MYVAR的值。
set MYVAR=Hello echo %MYVAR%
8.call:从批处理文件中调用另一个批处理文件或命令。
示例:从当前批处理文件中调用另一个批处理文件。
call another_batch_file.bat
9.goto:在批处理文件中跳转到标签指定的位置。
示例:跳转到文件末尾并退出批处理文件。
goto :EOF
10.choice:在批处理文件中提供用户选择。
示例:显示提示并等待用户输入Y或N,默认选择Y。
choice /C YN /M "Do you want to continue? [Y/N] " /D Y
七、文件与目录管理
1.xcopy:复制文件和目录树,比copy命令更强大,支持更多选项。
示例:复制源目录及其所有子目录(包括隐藏和只读文件),并在遇到错误时继续复制。
xcopy C:\source D:\destination /E /H /C /I
2.robocopy:高级文件复制工具,比xcopy更强大,支持更多功能和选项。
示例:镜像源目录到目标目录,使用可重启模式,并在每次失败后重试3次,每次等待10秒。
robocopy C:\source D:\destination /MIR /Z /W:10 /R:3
3.mklink:创建符号链接(类似于快捷方式)或硬链接。
示例:mklink /D C:\link_to_folder D:\original_folder 创建目录的符号链接;mklink C:\link_to_file D:\original_file 创建文件的硬链接。
mklink /D C:\link_to_folder D:\original_folder mklink C:\link_to_file D:\original_file
4.attrib:显示或更改文件和目录的属性。
示例: 将文件设置为隐藏;attrib -R C:\folder 移除目录的只读属性。
attrib +H C:\file.txt
5.chkdsk:检查磁盘上的文件系统错误并修复它们。
示例:检查C盘并修复发现的错误。
chkdsk C: /F
6.sfc /scannow:扫描并修复系统文件。
示例:在命令提示符(管理员)中执行sfc /scannow以扫描所有受保护的系统文件的完整性,并修复找到的问题文件。
sfc /scannow
八、网络诊断与配置
1.ping:测试与另一台计算机的网络连接。
示例:测试与Google服务器的连接。
ping google.com
2.tracert(或traceroute在Unix-like系统中):跟踪数据包到目标主机的路由。
示例:显示数据包到达Google服务器所经过的路由器。
tracert google.com
3.nslookup:查询DNS记录。
示例: 查询Google的DNS记录。
nslookup google.com
4.ipconfig:显示或重置网络接口的配置。
示例:ipconfig /all 显示所有网络适配器的详细配置信息;ipconfig /release 释放当前IP配置;ipconfig /renew 重新获取IP配置。
ipconfig /all ipconfig /release ipconfig /renew
5.netstat:显示网络连接、路由表和网络接口统计信息。
示例:显示所有活动的TCP和UDP连接及监听端口。
netstat -an
6.ftp:文件传输协议客户端,用于在FTP服务器上下载和上传文件。
示例:在命令提示符中输入ftp ftp.example.com,然后输入用户名和密码以连接到FTP服务器。
ftp ftp.example.com
九、系统管理与维护
1.msconfig:系统配置实用程序,用于修改启动选项和服务。
示例:打开系统配置窗口,可以在其中启用或禁用启动项和服务。
msconfig
2.diskpart:磁盘分区管理工具。
示例:在命令提示符中输入diskpart,然后使用list disk、select disk X、list partition等命令来查看和管理磁盘分区。
diskpart list disk select disk X list partition
3.bcdedit:启动配置数据编辑器,用于修改Windows启动加载器的设置。
示例:将系统配置为以最小模式启动到安全模式。
bcdedit /set {default} safeboot minimal
4.sfc /verifyonly:扫描系统文件的完整性,但不修复它们。
示例:检查系统文件的完整性,但不做任何修复。
sfc /verifyonly
5.dism /online /cleanup-image /restorehealth:使用部署映像服务和管理(DISM)工具修复Windows映像。
示例:修复损坏的Windows系统文件。
dism /online /cleanup-image /restorehealth
6.shutdown:关闭或重启计算机。
示例:shutdown /s /t 60 在60秒后关闭计算机;shutdown /r /f 强制重启计算机。
shutdown /s /t 60 shutdown /r /f
十、其他实用命令
1.ver:显示当前Windows版本的版本号。
示例:ver 显示当前操作系统的版本号。
ver
2.setx:设置或修改环境变量(与set不同,setx的更改会持久化)。
示例:设置环境变量MY_ENV_VAR为my_value。
setx MY_ENV_VAR "my_value"
3.where:搜索文件并显示其路径。
示例: 搜索并显示notepad.exe的路径。
where notepad.exe
4.timeout:创建一个暂停,持续指定的秒数或分钟数。
示例:暂停10秒。
timeout /t 10
5.powercfg:电源配置和管理工具。
示例:powercfg -list 列出所有电源方案;powercfg -hibernate off 关闭休眠功能。
powercfg -list powercfg -hibernate off
6.vssadmin:卷影复制服务管理工具,用于创建和管理卷影副本。
示例:列出所有现有的卷影副本。
vssadmin list shadows
十一、任务管理与进程控制
1.tasklist:显示当前运行的进程列表。
示例:列出所有正在运行的进程及其相关信息,如PID(进程标识符)、内存使用等。
tasklist
2.taskkill:结束一个或多个进程。
示例:taskkill /F /PID 1234 强制结束PID为1234的进程;taskkill /IM notepad.exe /F 强制结束所有名为notepad.exe的进程。
taskkill /F /PID 1234 taskkill /IM notepad.exe /F
3.wmic:Windows Management Instrumentation Command-line,用于查询和管理Windows系统信息。
示例:wmic process call create notepad.exe 在新进程中启动记事本;wmic os get name 获取操作系统的名称。
wmic process call create notepad.exe wmic os get name
4.schtasks:计划任务工具,用于创建、删除、查询和管理计划任务。
示例:每天上午9点运行MyApp.exe。
schtasks /create /tn "My Task" /tr "C:\Program Files\MyApp\MyApp.exe" /sc daily /st 09:00
十二、系统信息与硬件查询
1.systeminfo:显示详细的计算机系统和硬件配置信息。
示例:显示包括操作系统版本、处理器、内存、系统启动时间等详细信息。
systeminfo
2.dxdiag:DirectX诊断工具,用于收集和显示有关计算机上DirectX组件的信息。
示例:在命令提示符中输入dxdiag并回车,将打开DirectX诊断工具窗口,可以在其中查看系统、显示、声音等硬件信息。
dxdiag
3.wmic cpu get name,currentclockspeed:使用WMIC查询CPU的名称和当前时钟速度。
示例:显示CPU的名称和当前运行的时钟速度。
wmic cpu get name,currentclockspeed
4.wmic memorychip get capacity,speed:使用WMIC查询内存芯片的容量和速度。
示例:显示每个内存芯片的容量和速度。
wmic memorychip get capacity,speed
十三、注册表操作
1.reg query:查询注册表项和值。
示例:查询当前用户启动项下的所有值。
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run"
2.reg add:向注册表中添加新的项或值。
示例:在注册表中添加一个新的字符串值。
reg add "HKCU\Software\MyApp" /v "MyValue" /t REG_SZ /d "MyData" /f
3.reg delete:删除注册表项或值。
示例:reg delete "HKCU\Software\MyApp" /v "MyValue" /f 删除注册表中的指定值;reg delete "HKCU\Software\MyApp" /f 删除整个注册表项。
reg delete "HKCU\Software\MyApp" /v "MyValue" /f reg delete "HKCU\Software\MyApp" /f
4.reg export:将注册表项导出到文件中。
示例:将MyApp注册表项导出到C:\MyAppReg.reg文件中。
reg export "HKCU\Software\MyApp" C:\MyAppReg.reg
5.reg import:从文件中导入注册表项。
示例:将C:\MyAppReg.reg文件中的注册表项导入到注册表中。
reg import C:\MyAppReg.reg 将C:\MyAppReg.reg
十四、其他高级技巧
1.批处理脚本(.bat):将多个命令组合到一个文件中,以便一次性执行。
示例:创建一个名为myscript.bat的文件:创建完成后,双击myscript.bat将执行文件中的命令,显示“Hello, World!”消息,列出当前目录的内容,并等待用户按键继续。
@echo off echo Hello, World! dir pause
2.管道(|)和重定向(>、>>、2>):将命令的输出作为另一个命令的输入,或将输出重定向到文件。
示例:dir | findstr "txt" 查找包含“txt”的行在dir命令的输出中;dir > output.txt 将dir命令的输出重定向到output.txt文件中;dir 2> error.txt 将错误消息重定向到error.txt文件中。
dir | findstr "txt" dir > output.txt dir 2> error.txt
3.命令历史(F7)和快速编辑(F9):在CMD窗口中按F7键可以查看命令历史记录,并通过上下箭头选择并重新执行命令。按F9键后输入命令的一部分,然后按Tab键可以自动完成命令。
4.命令自动完成(Tab键):在输入命令或路径时,按Tab键可以自动完成当前输入的部分。如果有多个可能的匹配项,再次按Tab键将显示所有匹配项。
5.环境变量:使用set命令查看或设置环境变量。环境变量是系统或用户级别的值,可以在命令中引用以影响其行为。
示例:set MYVAR=123 设置环境变量MYVAR的值为123;echo %MYVAR% 显示MYVAR的值。
set MYVAR=123 echo %MYVAR%
6.cleanmgr打开磁盘清理工具,用于删除不需要的文件以释放磁盘空间。
示例:清理C盘上的不需要文件。该命令会启动磁盘清理向导,并自动选择清理C盘上的系统文件。
cleanmgr /sagerun:1
7.sfc /scannow 扫描并修复系统文件,确保系统文件的完整性和稳定性。
示例:扫描并修复所有受保护的系统文件。
sfc /scannow
8.chkdsk检查磁盘上的文件系统错误,并尝试修复它们。
示例:检查D盘并修复文件系统错误(在下次重启时执行)。/f 修复磁盘错误,/r 查找不正确的扇区并恢复可读信息,/x 强制卷在检查期间脱机。
chkdsk D: /f /r /x
9.defrag(适用于Windows 7及更早版本)整理磁盘碎片,提高磁盘访问速度。
示例:整理C盘上的磁盘碎片。/a 执行分析操作,/v 提供详细输出。在Windows 8及更高版本中,可以使用dfrgui命令或通过“优化驱动器”功能来整理磁盘碎片。
defrag C: /a /v
10.diskpart 磁盘分区管理工具,用于创建、删除、格式化分区等。
示例:列出所有磁盘及其分区信息。进入diskpart环境后,依次输入list disk和list partition命令,最后使用exit命令退出。
diskpart list disk list partition exit
11.bcdedit 管理启动配置数据(BCD)存储,用于修改启动设置、启动项等。
示例:设置默认启动项为Windows 10(假设其标识符为{current})。第一个命令设置默认启动项的描述,第二个命令将当前选中的启动项设置为默认启动项。
bcdedit /set {default} description "Windows 10" bcdedit /set {current} default
12.sc 用于与服务控制管理器(SCM)进行交互,查询服务状态、启动或停止服务等。
示例:启动名为“W32Time”的Windows时间服务。
sc start W32Time
13.wmic,Windows Management Instrumentation Command-line(WMI命令行),用于查询和更改Windows管理信息。
示例:查询所有正在运行的服务及其状态。
wmic service where "State='Running'" get Name,State
14.taskkill 结束一个或多个进程。
示例:结束所有名为“notepad.exe”的进程。/IM 指定要结束的进程的名称,/F 强制结束进程。
taskkill /IM notepad.exe /F
15.netstat 显示网络连接、路由表和网络接口统计信息。
示例:显示所有活动的TCP连接及其状态。使用-ano选项可以显示每个连接的唯一标识符(PID)和端口号等信息。
netstat -ano
16.chkdsk 命令:检查磁盘上的文件系统错误并尝试修复它们。
示例:检查C盘上的错误并尝试修复(注意:此命令可能需要重启计算机才能完成)。/f 选项表示修复磁盘上的错误。
chkdsk C: /f
17.sfc /scannow 命令:扫描所有受保护的系统文件的完整性,并修复找到的损坏文件。
示例:扫描并修复系统文件。
sfc /scannow
18.diskpart 命令:一个磁盘管理工具,允许用户创建、删除、格式化分区等。
示例:列出所有磁盘及其分区(注意:此命令需要在diskpart环境中运行)。首先输入diskpart进入diskpart环境,然后依次输入list disk和list partition来列出磁盘和分区信息。
diskpart list disk list partition
19.bcdedit 命令:用于管理启动配置数据(BCD)存储。这包括启动加载程序设置、启动项和启动失败恢复选项。
示例:查看当前系统的启动加载程序标识符。{default} 表示当前默认的启动项。
bcdedit /get {default} identifier
20.mountvol 命令:创建、删除或列出磁盘卷挂载点。
示例:列出所有磁盘卷的挂载点。
mountvol
21.powercfg 命令:提供高级电源管理选项,允许用户查询和更改电源设置。
示例:查询当前电源方案的名称。
powercfg -getactivescheme
22.sc 命令:用于与服务控制管理器(SCM)和服务进行交互。可以查询服务状态、启动或停止服务等。
示例:启动名为“Spooler”的服务(通常是打印服务)。
sc start Spooler
23.wmic 命令:Windows Management Instrumentation Command-line(WMI命令行),允许用户查询和更改Windows管理信息。
示例:查询所有正在运行的服务及其状态。
wmic service where "State='Running'" get Name,State
24.taskkill 命令:结束一个或多个进程。
示例:结束名为“notepad.exe”的所有进程。/F 选项表示强制结束进程。
taskkill /F /IM notepad.exe
25.netstat 命令:显示网络连接、路由表和网络接口统计信息。
示例:显示所有活动的TCP连接及其状态。使用findstr命令来过滤出包含“TCP”的行。
netstat -an | findstr TCP
26.findstr 命令:在文件中搜索字符串,并显示包含该字符串的行。
示例:在example.txt文件中搜索包含“error”的行。/i 选项表示搜索不区分大小写。
findstr /i "error" example.txt
27.for /f 命令:处理文件、命令输出或字符串中的每一行,并将每行拆分为多个令牌(token)。
示例:从dir命令的输出中提取文件名和大小。注意:这里的delims=指定了空格作为分隔符,tokens=1,5表示提取每行的第一个和第五个令牌(通常是文件名和大小)。然而,由于dir命令输出的格式可能因Windows版本而异,因此上述命令可能需要根据实际情况进行调整。
for /f "tokens=1,5 delims= " %%a in ('dir /a-d /-c') do ( echo %%a - %%b bytes )
28.xcopy 命令:复制文件和目录树,比copy命令更强大。
示例:将source目录及其子目录中的所有文件复制到destination目录,包括隐藏和只读文件。/e 复制所有子目录,包括空目录;/h 复制隐藏文件和系统文件;/i 如果目标不存在,则在复制前创建它;/y 覆盖现有文件而不提示。
xcopy source destination /e /h /i /y
29.robocopy 命令:一个更高级的文件复制命令,提供了比xcopy更多的选项和更好的性能。
示例:将source目录复制到destination目录,并显示详细进度信息。/e 复制所有子目录,包括空目录;/r:0 重试次数为0(即不重试);/w:0 等待时间为0秒(即不等待);/np 不显示进度百分比;/log:copylog.txt 将日志输出到copylog.txt文件。
robocopy source destination /e /r:0 /w:0 /np /log:copylog.txt
30.setx 命令:设置或更新环境变量的值,与set命令不同,setx设置的变量在CMD会话之外也可用。
示例:设置环境变量MYVAR的值为123,并在系统范围内生效。/m 选项表示设置系统环境变量(需要管理员权限)。如果不使用/m,则设置用户环境变量。
setx MYVAR 123 /m
31.ver 命令:显示当前Windows操作系统的版本信息。
示例:
ver
32.mode 命令:配置系统设备(如屏幕缓冲区大小、控制台窗口大小等)。
示例:将控制台窗口的宽度设置为80个字符,高度设置为25行。
mode con cols=80 lines=25
33.for 循环:用于遍历一系列值或文件,并对每个值或文件执行一系列命令。
示例:遍历当前目录下的所有.txt文件,并显示它们的名称和大小。
for %%f in (*.txt) do ( echo %%f for /f "tokens=*" %%s in ('dir /-c /a:-d "%%f" ^| findstr /r "^[0-9]"') do ( set "size=%%s" echo Size: !size:~-11,10! bytes ) )
34.if 条件语句:根据条件执行不同的命令。
示例:检查环境变量MYVAR是否设置,并显示相应的消息。
if defined MYVAR ( echo MYVAR is set to %MYVAR% ) else ( echo MYVAR is not set )
35.choice 命令:显示一个菜单,并等待用户输入一个选项。
示例:创建一个简单的菜单,让用户选择执行不同的命令。
:menu echo. echo Please choose an option: echo 1. Option 1 echo 2. Option 2 echo 3. Exit echo. choice /c 123 /m "Enter your choice: " if errorlevel 3 goto end if errorlevel 2 goto option2 if errorlevel 1 goto option1:option1 echo You chose Option 1 goto menu:option2 echo You chose Option 2 goto menu:end echo Goodbye!
36.call 命令:从一个批处理文件中调用另一个批处理文件或命令,并在调用完成后返回。
示例:调用另一个批处理文件other.bat。
call other.bat
37.start 命令:启动一个单独的窗口来运行指定的程序或命令。
示例:在新窗口中打开记事本。
start notepad.exe
38.timeout 命令:创建一个暂停,等待指定的秒数后继续执行。
示例:暂停5秒后继续执行。
timeout /t 5
39.exit 命令:退出CMD会话或批处理脚本,并可选地返回一个退出代码。
示例:退出CMD会话并返回退出代码0。在批处理脚本中,/b选项表示仅退出脚本而不关闭CMD窗口。如果不使用/b,则整个CMD会话将关闭。
exit /b 0