让我有一个批处理程序:
SET FOO=C:\temp\%1
bar.exe %FOO%
当我用双引号文件名作为参数调用它时,我在中间得到了这些引号;而这个事实会阻止其他程序正常工作:
> fail.bat "aa bb.jpg"
SET FOO=C:\temp\"aa bb.jpg"
> bar.exe C:\temp\"aa bb.jpg"
cannot find file
如何获取包含正确值“C:\temp\aa bb.jpg”的变量?
最佳答案
您可以改用 %~1
,这会从参数中删除引号。
那么你的代码应该是这样的
SET FOO="C:\temp\%~1"
bar.exe %FOO%
关于windows - Batch 中引用文件名的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6769849/