2023年11月26日发(作者:)

【建议收藏】Windows批处理(cmdbat)常⽤命令总结

Windows批处理/cmd/bat常⽤命令总结

前⾔

批处理⽂件(batch file)包含⼀系列 DOS命令,通常⽤于⾃动执⾏重复性任务。

⽤户只需双击批处理⽂件便可执⾏任务,⽽⽆需重复输⼊相同指令。

编写批处理⽂件⾮常简单,但难点在于确保⼀切按顺序执⾏。

编写严谨的批处理⽂件可以极⼤程度地节省时间,在应对重复性⼯作时尤其有效。

在Windows中善⽤批处理可以简化很多重复⼯作!

1. 什么是批处理

批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进⾏批量的处理。批处理⽂件的扩展名为

bat

⽬前⽐较常见 的批处理包含两类:DOS批处理和PS批处理。

PS批处理是基于强⼤的图⽚编辑软件Photoshop的,⽤来批量处理图⽚的脚本;

⽽DOS批处理则是基于DOS命令的,⽤来⾃动地批量地执⾏DOS命令以实现特定操作的脚本。

这⾥要讲的就是DOS批处理。

批处理是⼀种简化的脚本语⾔,它应⽤于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是

或者)解释运⾏。类似于Unix中的Shell脚本。

批处理⽂件具有.bat或者.cmd的扩展名,其最简单的例⼦,是逐⾏书写在命令⾏中会⽤到的各种命令。更复杂的情况,需要使⽤

if,for,goto等命令控制程序的运⾏过程,如同C,Basic等中⾼级语⾔⼀样。如果需要实现更复杂的应⽤,利⽤外部程序是必要的,这包

echo

rem

pause

call

start

goto

type 显⽰⽂本⽂件的内容。

copy 将⼀份或多份⽂件复制到另⼀个位置。

del 删除⼀个或数个⽂件。

move 移动⽂件并重命名⽂件和⽬录。(Windows XP Home Edition中没有)

ren 重命名⽂件。

replace 替换⽂件。

attrib 显⽰或更改⽂件属性。

find 搜索字符串。

fc ⽐较两个⽂件或两个⽂件集并显⽰它们之间的不同

4.3 ⽹络命令

@ #

关闭单⾏回显

echo off #

从下⼀⾏开始关闭回显

@echo off #

从本⾏开始关闭回显。⼀般批处理第⼀⾏都是这个

echo on #

从下⼀⾏开始打开回显

echo # echo off echo on

显⽰当前是状态还是状态

echo. #

输出⼀个回车换⾏,空⽩⾏

#(echo, echo; echo+ echo[ echo] echo/ echo)

5.2 errorlevelecho %errorlevel%

每个命令运⾏结束,可以⽤这个命令⾏格式查看返回码

默认值为0,⼀般命令执⾏出错会设 errorlevel 为1

5.3 dir显⽰⽂件夹内容

dir #

显⽰当前⽬录中的⽂件和⼦⽬录

dir /a #

显⽰当前⽬录中的⽂件和⼦⽬录,包括隐藏⽂件和系统⽂件

dir c: /a:d # C

显⽰盘当前⽬录中的⽬录

dir c: /a:-d # C

显⽰盘根⽬录中的⽂件

dir c: /b/p #/b/p

只显⽰⽂件名,分页显⽰

dir *.exe /s #.exe

显⽰当前⽬录和⼦⽬录⾥所有的⽂件

5.4 cd切换⽬录

cd #

进⼊根⽬录

cd #

显⽰当前⽬录

cd /d d:sdk #

可以同时更改盘符和⽬录

5.5 md创建⽬录

md d:abc # d:a

如果不存在,将会⾃动创建中级⽬录

# mkdir abc

如果命令扩展名被停⽤,则需要键⼊

5.6 rd删除⽬录

rd abc # abc

删除当前⽬录⾥的⼦⽬录,要求为空⽬录

rd /s/q d:temp # d:temp /q

删除⽂件夹及其⼦⽂件夹和⽂件,安静模式

5.7 del删除⽂件

del d:test.txt #

删除指定⽂件,不能是隐藏、系统、只读⽂件

del /q/a/f d:temp*.*

删除 d:temp ⽂件夹⾥⾯的所有⽂件,包括隐藏、只读、系统⽂件,不包括⼦⽬录

del /q/a/f/s d:temp*.*

删除 d:temp 及⼦⽂件夹⾥⾯的所有⽂件,包括隐藏、只读、系统⽂件,不包括⼦⽬录

5.8 ren重命名命令

ren d:temp tmp #

⽀持对⽂件夹的重命名

5.9 cls清屏

5.10 type显⽰⽂件内容

type c:boot.ini #

显⽰指定⽂件的内容,程序⽂件⼀般会显⽰乱码

type *.txt #.txt

显⽰当前⽬录⾥所有⽂件的内容

5.11 copy拷贝⽂件

copy c:test.txt d:test.bak

复制 c:test.txt ⽂件到 d: ,并重命名为 test.bak

copy con test.txt

从屏幕上等待输⼊,按 Ctrl+Z 结束输⼊,输⼊内容存为test.txt⽂件

con代表屏幕,prn代表打印机,nul代表空设备

copy 1.txt + 2.txt 3.txt

合并 1.txt 2.txt 的内容,保存为 3.txt ⽂件

如果不指定 3.txt ,则保存到 1.txt

copy test.txt +

复制⽂件到⾃⼰,实际上是修改了⽂件⽇期

5.12 title设置cmd窗⼝的标题

title 新标题 #cmd

可以看到窗⼝的标题栏变了

5.13 ver显⽰系统版本

5.14 label vol设置卷标

vol #

显⽰卷标

label #

显⽰卷标,同时提⽰输⼊新卷标

label c:system #C system

设置盘的卷标为

5.15 pause暂停命令

5.16 rem ::注释命令

注释⾏不执⾏操作

5.17 date time

⽇期和时间

date #""

显⽰当前⽇期,并提⽰输⼊新⽇期,按回车略过输⼊

date/t #

只显⽰当前⽇期,不提⽰输⼊新⽇期

time #""

显⽰当前时间,并提⽰输⼊新时间,按回车略过输⼊

time/t #

只显⽰当前时间,不提⽰输⼊新时间

5.18 goto :

跳转命令

:label #:

⾏⾸为表⽰该⾏是标签⾏,标签⾏不执⾏操作

goto label #

跳转到指定的标签那⼀⾏

5.19 find (外部命令)

查找命令

find "abc" c:test.txt

c:test.txt ⽂件⾥查找含 abc 字符串的⾏

如果找不到,将设 errorlevel 返回码为1

find /i “abc” c:test.txt

查找含 abc 的⾏,忽略⼤⼩写

find /c "abc" c:test.txt

显⽰含 abc 的⾏的⾏数

5.20 more (外部命令)

逐屏显⽰

more c:test.txt # c:

逐屏显⽰的⽂件内容

5.21 tree

显⽰⽬录结构

tree d: #D

显⽰盘的⽂件⽬录结构

5.22 &

顺序执⾏多条命令,⽽不管命令是否执⾏成功