转载自:https://www.cnblogs.com/yang-hao/p/6002715.html
1 路径相关
在批处理开头加入cd /d %~dp0 一行代码就真真实实地做到“编写一次,到处运行”。%0是批处理文件本身的路径,%~dp进行扩展, d向前扩展到驱动器,p往后扩展到路径。
例如,你的bat文件在e:/mybat/test.bat,则%0就是e:/mybat/test.bat, %~dp0是e:/mybat/。
另外,%i提取第i个命令选项,例如%1提取第1个option,i可以取值从1到9
%~0: 取文件名(名+扩展名)
%~f0:取全路径
%~d0:取驱动器名
%~p0:只取路径(不包驱动器)
%~n0:只取文件名
%~x0:只取文件扩展名
%~s0:取缩写全路径名
%~a0:取文件属性
%~t0:取文件创建时间
%~z0:取文件大小
以上选项可以组合起来使用。
%1就是表示批处理的第一个参数,
%~1表示删除参数外面的引号
比如有个批处理文件 test.bat
在cmd中输入命令
test.bat "test"
%1表示的是“test“。%~1表示的是test,没有了双引号
2 call,start命令
call 会等待进程结束, start不会等待
start调用exe路径中包含空格的方法:
start "" "C:Program Files (x86)SteamSteam.exe"
3