Windows批处理命令总结
1 命令:echo 1.1 echo含义
显示消息,或者启用或关闭命令回显。 ECHO [ON | OFF]、ECHO [meage] 若要显示当前回显设置,请键入不带参数的 ECHO。
1.2 echo举例
①echo 显示当前回显设置,结果有ECHO 处于打开状态、ECHO 处于关闭状态 ②echo on 打开回显设置,即ECHO 处于打开状态 ③echo off 关闭回显设置,即ECHO 处于关闭状态
④echo 我是中国人 显示输出的内容信息,窗口输出“我的中国人”,不需要加单双引号 ⑤echo . 换行
2 命令:pause 2.1 pause含义
暂停批处理程序,并显示以下消息:请按任意键继续...2.2 pause举例
①pause 显示“请按任意键继续...”信息
3 命令:@ 3.1 @含义
用于禁止当前执行的命令回显在屏幕上
3.2 @举例
@echo off 该命令行不会回显在屏幕上 4 命令:goto 4.1 goto含义
将 cmd.exe 定向到批处理程序中带标签的行。
GOTO label label
指定批处理程序中用作标签的文字字符串。 标签必须单独一行,并且以冒号打头。 如果命令扩展被启用,GOTO 会如下改变: GOTO 命令现在接受目标标签 :EOF,这个标签将控制转移到当前批脚本文件的结尾。不定义就退出批脚本文件,这是一个容易的办法。有关能使该功能有用的 CALL 命令的扩展描述,请键入CALL /?。
4.2 goto举例
①命令行如下
执行结果如下
5 命令:call 5.1 call含义
从批处理程序调用另一个批处理程序。
CALL [drive:][path]filename [batch-parameters]
batch-parameters
指定批处理程序所需的命令行信息。 如果命令扩展被启用,CALL 会如下改变: CALL 命令现在将卷标当作 CALL 的目标接受。语法是:CALL:label arguments 一个新的批文件上下文由指定的参数所创建,控制在卷标被指定后传递到语句。你必须通过达到批脚本文件末两次来 \"exit\" 两次。第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次会退出批脚本。 5.2 call举例
①call 文件名 调用外部的批处理文件,并执行内容
执行结果如下:
6 命令:if 6.1 if含义
执行批处理程序中的条件处理。
IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command
NOT 指定只有条件为 false 的情况下,Windows 才应该执行该命令。
ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出代码,指
定条件为 true。
string1==string2
如果指定的文字字符串匹配,指定条件为 true。
EXIST filename
如果指定的文件名存在,指定条件为 true。
command
如果符合条件,指定要执行的命令。如果指定的
条件为 FALSE,命令后可跟 ELSE 命令,该命令将
在 ELSE 关键字之后执行该命令。 ELSE 子句必须出现在同一行上的 IF 之后。例如:
IF EXIST filename.(
del filename.
) ELSE (
echo filename.miing.
) 6.2 if举例
①字符串匹配判断和文件是否存在判断(既可以为相对路径,也可以为绝对路径)
7 比较运算符
比较运算符有以下几种:
EQU不等于
LSS小于或等于
GTR大于或等于
8 命令:for 8.1 for含义
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(set)
指定一个或一组文件。可以使用通配符。
command
指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。 在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.如果启用命令扩展,则会支持下列 FOR 命令的其他格式: FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。 FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,
则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-parameters] 该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列 8.2 for举例
①循环输出数字和循环输出3.txt中的文本内容
9 命令:rem 9.1 rem含义
在批处理文件或 CONFIG.SYS 里加上注解或说明。 REM [comment] 9.2 rem举例
①rem 这是一条注释,不会执行 10 命令:start 10.1 start含义
重新打开一个窗口或执行程序,并根据参数执行相应命令
10.2 start举例
①start notepad++ 打开notepad++程序
②start \"这是新的cmd窗口\" echo 在第二个窗口执行程序
11 命令:set 11.1 set含义
显示、设置或删除 cmd.exe 环境变量。 SET [variable=[string]]
variable 指定环境变量名。
string
指定要指派给变量的一系列字符串。 要显示当前环境变量,键入不带参数的 SET。
11.2 set举例
①set 显示所有的环境变量,环境变量不区分大小写 ②set java_home 显示以“java_home”开头的环境变量
③set JAVA_HOME=D:\\mywork\\jdk\\install 设置JAVA_HOME的值
④set /p var=请输入您的姓名: 提示用户输入参数,%var%调用该参数
⑤set /a var=2*2 设置运算表达式
12 命令:choice 12.1 choice含义
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text] 描述:该工具允许用户从选择列表选择一个项目并返回所选项目的索引。 参数列表:
/C
choices
指定要创建的选项列表。默认列表是 \"YN\"。
/N
在提示符中隐藏选项列表。提示前面的消息得到显示,
选项依旧处于启用状态。
/CS
允许选择分大小写的选项。在默认情况下,这个工具
是不分大小写的。
/T
timeout
做出默认选择之前,暂停的秒数。可接受的值是从 0
到 9999。如果指定了 0,就不会有暂停,默认选项
会得到选择。
/D
choice
在 nnnn 秒之后指定默认选项。字符必须在用 /C 选
项指定的一组选择中; 同时,必须用 /T 指定 nnnn。
/M
text
指定提示之前要显示的消息。如果没有指定,工具只
显示提示。
12.2 choice举例
CHOICE /C YNC /M \"确认请按 Y,否请按 N,或者取消请按 C。\" CHOICE /T 10 /C ync /CS /D y CHOICE /C ab /M \"选项 1 请选择 a,选项 2 请选择 b。\" CHOICE /C ab /N /M \"选项 1 请选择 a,选项 2 请选择 b。\" 13 命令:copy 13.1 copy含义
将一份或多份文件复制到另一个位置。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]
source
指定要复制的文件。
/A
表示一个 ASCII 文本文件。
/B
表示一个二进位文件。
/D
允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名。
/V
验证新文件写入是否正确。
/N
复制带有非 8dot3 名称的文件时,尽可能使用短文件名。
/Y
不使用确认是否要覆盖现有目标文件的提示。
/-Y
使用确认是否要覆盖现有目标文件的提示。
/Z
用可重新启动模式复制已联网的文件。
/L
如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。
13.2 copy举例
①copy a.txt bak.txt 复制a.txt文件,命名为bak.txt,不能复制目录下的文件并重命名 ②copy /b f:\\1.txt+2.txt f:\\3.txt 合并文件到一个新的文件
14 命令:move 14.1 move含义
移动文件并重命名文件和目录。 要移动至少一个文件: MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 要重命名一个目录: MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
[drive:][path]filename1 指定你想移动的文件位置和名称。
destination
指定文件的新位置。目标可包含一个驱动器号
和冒号、一个目录名或组合。如果只移动一个文件
并在移动时将其重命名,你还可以包括文件名。
[drive:][path]dirname1 指定要重命名的目录。
dirname2
指定目录的新名称。
/Y
取消确认覆盖一个现有目标文件的提示。
/-Y
对确认覆盖一个现有目标文件发出提示。
14.2 move举例
①move 3.txt D:\\a.txt 文件移动并重命名
15 命令:del 15.1 del含义
删除一个或数个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names
指定一个或多个文件或者目录列表。通配符可用来删除多个文件。
如果指定了一个目录,该目录中的所有文件都会被删除。
/P
删除每一个文件之前提示确认。
/F
强制删除只读文件。
/S
删除所有子目录中的指定的文件。
/Q
安静模式。删除全局通配符时,不要求确认
/A
根据属性选择要删除的文件
属性
R 只读文件
S 系统文件
H 隐藏文件
A 存档文件
I 无内容索引文件
L 重分析点
表示“否”的前缀
/B
使用空格式(没有标题信息或摘要)。
/C
在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
禁用分隔符显示。
/D
跟宽式相同,但文件是按栏分类列出的。
/L
用小写。
/N
新的长列表格式,其中文件名在最右边。
/O
用分类顺序列出文件。
排列顺序
N 按名称(字母顺序)
S 按大小(从小到大)
E 按扩展名(字母顺序)
D 按日期/时间(从先到后)
G 组目录优先
- 反转顺序的前缀
/P
在每个信息屏幕后暂停。
/Q
显示文件所有者。
/R
显示文件的备用数据流。
/S
显示指定目录和所有子目录中的文件。
/T
控制显示或用来分类的时间字符域。
17.2 dir举例
①dir /o F:\\ 分类显示F盘下的文件和文件夹
18 命令:find 18.1 find含义
在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] \"string\" [[drive:][path]filename[ ...]]
/V
显示所有未包含指定字符串的行。
/C
仅显示包含字符串的行数。
/N
显示行号。
/I
搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
\"string\" 指定要搜索的文本字符串。
[drive:][path]filename 指定要搜索的文件。
18.2 find举例
①find /c /n \"视\" oa视图对比.txt 从文件中查找“视”,并显示行号
19 命令:type 19.1 type含义
显示文本文件的内容,或者创建文件 TYPE [drive:][path]filename 19.2 type举例
①type nul>a.txt 创建文件a.txt ②type a.txt 查看文件内容
20 命令:md/mkdir 20.1 md含义
创建目录。
MKDIR [drive:]path MD [drive:]path 如果命令扩展被启用,MKDIR 会如下改变: 如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 \\a 不 存在,那么: mkdir \\a\\b\\c\\d 与:mkdir \\a chdir \\a mkdir b chdir b mkdir c chdir c mkdir d 相同。如果扩展被停用,则需要键入 mkdir \\a\\b\\c\\d。
20.2 md举例
①md a\\b\\c\\d 创建多级目录