bat命令
命令:
help echo @ rem
help 命令
语法:
命令 /? #可显示此命令的帮助信息
help 命令 #可显示此命令的帮助信息
c:\users\admin>help dir 显示目录中的文件和子目录列表。
c:\users\admin>ping /?: 用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] [-r] [-s srcaddr] [-c compartment] [-p] [-4] [-6] target_name
echo 命令
语法:
echo [{on|off}] [message]
echo [on | off] 打开回显或关闭回显功能。默认是on。
echo 显示当前回显设置。
echo [message] 显示信息。
1 echo #显示当前回显,默认是打开的。执行结果中:echo处于打开状态。 2 @pause >null 3 4 echo off #关闭回显功能 5 echo #显示当前回显。执行结果中:echo处于关闭状态。 6 pause >null 7 8 echo off 9 echo hello world! #显示 hello world! 执行结果中:hello world 10 pause >null
执行结果
@
语法:
@ command #运行时不显示这一行的命令行(只能影响当前行)
@echo on ping www.baidu.com -n 2 #在执行结果中:ping www.baidu.com -n 2 @ping www.hao123.com -n 2 #命令不在在执行结果中出现 @pasue
执行结果:
rem
语法:
rem message... #在批处理文件或 config.sys 里加上注解或说明。必须打开回显,即echo on
(小技巧:用::代替rem)
@echo on #使用rem,回显必须打开 rem 测试百度连通性 #执行结果中:rem 测试百度连通性 ping www.baidu.com -n 2 @pause>null
执行结果:
pause
语法:
pause
暂停批处理程序,并显示以下消息:
请按任意键继续. . .
1 @echo on 2 @echo hello world 3 pause #在执行结果中:请按任意键继续... 4 @echo 您好 5 pause > null #在执行结果中不会出现 “请按任意键继续... ”
执行结果:
goto
goto是个跳转命令,紧跟其之后的是标签名;冒号是一个标签标志,紧跟其之后的是标签名,两者合称标签。
语法:
goto label
:label
或者
:label
goto label
1 @echo off 2 goto label #跳转到下面的:label 3 echo hello world #被跳过,不执行 4 :label #跳转到此处,执行此后的语句 5 echo 您好 #执行结果:您好 6 pause > null
执行结果:
call
语法:
call 路径 *.bat #被调用批处理文件和调用批处理文件,如果在相同路径下,则“路劲”可以省略不写。
call :label # 在被调用处理文件中,先跳转到label,执行label之后的命令,再返回执行之后的命令
:label
1 call c:\users\admin\desktop\bat\1.bat #调用路径下的1.bat 2 pause
1 @echo off 2 call :label #先跳转到label,执行label之后的命令,再返回执行之后的命令 3 echo 1 4 echo 2 5 echo 3 6 : label 7 echo 4 8 echo 5
执行结果:
start 命令
start 与 call 的区别
对于start,概况二句话:“不同进程不能传值”,“相同进程单向传值,老子传儿子,非儿子传老子”。
对于call,“同一进程,变量互通”。
语法:
start 路径 程序执行文件/快捷 如果是系统命令可以省略路径。
start 路径 *.bat #如果被执行的批处理文件和执行的批处理文件路径相同,可以省略路径。
start /wait *.bat #等待*.bat执行后,才会继续往下执行。非正常关闭会提示: “c终止批处理操作吗(y/n)?”
1 @echo off 2 echo 开始执行批处理文件 3 start /wait 1.bat #等1.bat执行完,正常退出后,往下执行 4 start calc #执行计算器程序 5 start notepad #执行记事本程序、 6 pause > nul
1 @echo off 2 echo 您好! #执行结果首先执行: 您好! 等待执行后再执行 执行批处理的计算器和记事本程序 3 pause
执行结果: