一直在为一个软件编写部署脚本,该脚本需要以管理员身份从移动源(即文件夹可能位于密钥上、服务器上、本地等)以静默模式安装 Visual C++ 2013 Redistributable。
对于我的所有其他可执行文件(主要是 MSI),在文件名前使用“%~dp0”(如下所示:“%~dp0Antidote9.msi”,后跟 /quiet、/q 等参数,效果很好。
但是对于 VC Redist,它不接受我的论点。
这是我的完整命令:
start /wait "%~dp0vcredist_x64.exe" /install /quiet /norestart
它可以正常提取文件,但随后却说我的参数无效,尽管我删除了 %~dp0,它仍能正常工作,并且我从执行 vcredist_x64.exe /? 中获得了参数。
我是否做错了什么或者我需要修改什么才能使我的论点发挥作用?
提前致谢!
答案1
你可以使用%CD%\
代表当前目录代替%~dp0
。
我没有注意到这两者之间有什么区别。
附注:如果您使用start
命令,最佳做法是""
在要启动的程序前添加一个额外的命令,并将所有参数包含在一个引号中,并在必要时转义引号中的参数。例如:
start /wait "" "%CD%\MyProgram.exe /link \"MyOtherDLL.dll\""