bat
批处理文件是一个文本文件,其每一行都是一条DOS命令。同时bat
也是一种简单的运行程序。
一、简单介绍批处理文件
bat
是window
系统下的一种批处理文件,主要适用于自动的连续执行多条命令。批处理文件支持条件判断、循环和流程控制。每个编写好的批处理文件相当于一个DOS外部命令。(如果批量文件路径被添加到 PATH
,)
通过利用批处理文件可以有效简化我们的操作处理。
二、bat常用命令
echo
表示 显示此命令后的字符echo off
表示 在此语句后所有运行的命令都不显示命令行本身@
表示 与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(@
只能影响当前行)call
表示 调用另一个批处理文件(如果不用call
而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。pause
表示 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue…的提示,等待用户按任意键后继续rem
表示 注释当前代码行%
参数表示符%[1-9]
表示 参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。(%0表示批处理命令本身)
三、bat特殊命令
if
条件语句,其支持三种格式if [not] "param" == "string" expression
程序(不)满足条件时,执行相应操作。if [not] exist [path\]filename expression
指定文件(不)存在时,执行相应操作。if errorlevel <number> expression
很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果。通过errorlevel
可以判断程序的返回值。
goto
跳转操作,常与labal
(标号,标号用:
后跟标准字符串来定义) 配合使用。1
2
3goto end
:endchoice
使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。- 语法
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 | 指定提示之前要显示的消息。如果没有指定,工具只显示提示。 |
/? | 显示帮助消息。 |
for
循环命令。 对一组文件中的每一个文件执行某个特定命令。- 语法
FOR %%variable IN (set) DO command [command-parameters]
- 语法
四、编写一个简单的示例
场景:现在需要将 D:\mine\test\a 中所有的文本文件,移动到 D:\mine\test\b 中。
1 | cd a |