Batch file 批处理脚本中的空格
我正在尝试创建一个批处理文件,该文件用空格传递参数Batch file 批处理脚本中的空格,batch-file,whitespace,Batch File,Whitespace,我正在尝试创建一个批处理文件,该文件用空格传递参数 ::create mono PCX file "C:\Program Files\gs\gs9.06\bin\gswin64.exe" -q -dNOPAUSE -dSAFER -dBATCH -sPAPERSIZE=%3 -r200 -g1728x2285 -sDEVICE=pcxmono -sOutputFile="%~dpn2._temp_.%%d.pcx" "%1" -c quit ::create zip file 7za a "%
::create mono PCX file
"C:\Program Files\gs\gs9.06\bin\gswin64.exe" -q -dNOPAUSE -dSAFER -dBATCH -sPAPERSIZE=%3 -r200 -g1728x2285 -sDEVICE=pcxmono -sOutputFile="%~dpn2._temp_.%%d.pcx" "%1" -c quit
::create zip file
7za a "%2" "%~dpn2._temp_.*.pcx"
我的问题是如果%1=“test case.zip”我只得到test.zip。有没有办法使Windows cmd.exe解释器在%2中正确传递带空格的参数
最好的。
wishi报价是一个状态机-第一个报价打开、第二个报价关闭、第三个报价打开,等等 您的问题是
“%1”
周围的引号
您在命令行上传入“test case.zip”
,因此%1
=“test case.zip”
,添加的引号将导致“test case.zip”
。您的参数不再正确引用,因此解析器将看到2个参数:
case.zip”“
%1
-->%1
另一个选项是使用~
修饰符删除任何现有的封闭引号,然后再添加自己的:“%~1”
。如果参数未括在引号中,~
修饰符无效