//run.bat
@echo off
cd /d %~dp0
echo %1
LayerStacking.exe %1
@echo off
@echo off表示执行了这条命令后关闭所有命令(包括本身这条命令)的回显。而echo off命令则表示关闭其他所有命令(不包括本身这条命令)的回显,@的作用就是关闭紧跟其后的一条命令的回显
例子可见:https://blog.youkuaiyun.com/fly_as_tadpole/article/details/85177379
cd /d %~dp0
更改当前目录为批处理本身的目录
例子:https://www.cnblogs.com/yxsylyh/archive/2012/06/07/dosdp0.html
直接贴上来吧:
比如你有个批处理a.bat在D:\qq文件夹下
a.bat内容为
cd /d %~dp0
在这里
cd /d %~dp0的意思就是cd /d d:\qq
%0代表批处理本身 d:\qq\a.bat
~dp是变量扩充
d既是扩充到分区号 d:
p就是扩充到路径 \qq
dp就是扩充到分区号路径 d:\qq
echo %1
%1就是表示批处理的第一个参数
LayerStacking.exe %1
LayerStacking.exe