批处理基本命令
**备注:**大小写不敏感(命令符忽略大小写),以ANSI保存为bat(否则中文显示乱码)
1、 echo 打开回显或关闭请求回显功能,或显示消息,如
echo “测试连接”
2、 @表示不显示后面的命令,如
@echo off 执行以后,后面所有的命令均不显示,包括本条命令
【echo off 执行以后,后面所有的命令均不显示,但本条命令是显示的】
@ping 127.0.0.1 -n 5 >nul (等待5秒,不显示命令)
3、 Pause 程序暂停,按任意键继续
4、 延时启动程序
1) ping延时启动 (时间精度为1秒,不够精确)
@ping 127.0.0.1 –n 6 >nul
2) choice (时间精确,CPU占用低,是最佳选择)
@choice /t 5 /d y /n >nul
3) 其他几种不常见,自己私下看(略)
https://blog.csdn.net/jk110333/article/details/41869053
5、 start 调用外部程序命令 / 打开文件或文件夹
(所有的DOS命令和命令行程序都可以由start命令来调用)
start “” “C:****\spyxx8\spyxx.exe” (常规窗口启动exe)
start /max "C:**\spyxx8\spyxx.exe" (以最大化窗口运行)
start “” “%WINDIR%” (打开WINDOWS文件夹)
start / (其他很多参数,网上参考略)
start D:\文件夹1 (打开文件夹)
start D:\文件夹1\test.txt (打开文件)
6、 call 命令(一个批处理脚本中调用另一个批处理脚本)
call c:\code\run.bat (执行另一个批处理)
call和start区别
1) call的时候,他们拥有同一个壳cmd.exe,在同一个进程当中,所以他们的变量是互通的
2) start的时候,他们拥有两个壳cmd.exe,但child.bat可以看成是main.bat的子进程,子进程可以读取父进程中的变量,“不同进程不能传值”,“相同进程单向传值,老子传儿子,非儿子传老子”
3) 例子:
test1.bat
@echo off
set a=name111
start test2.bat // 改成call test2.bat,查看差异
echo %a%
pause