如何使批处理文件处理文件名中的空格?

9
我正在使用以下批处理文件为文件夹中的每个xml文件制作zip文件:
FOR %%f in ("C:\files\*.xml") DO 7za.exe a C:\files\zips\%%~nf.zip (%%f)

如果文件名中有空格(test plop.xml),那么批处理文件将无法正常工作。它似乎会拆分文件名并将其视为两个文件。

如何修改批处理文件以便正确处理带空格的文件名?


你尝试过在文件名周围加上双引号吗?例如:("%%f") - Klaus Byskov Pedersen
1个回答

16

尝试在输出文件名周围添加引号。

更改为:

FOR %%f in ("C:\files*.xml") DO 7za.exe a C:\files\zips\%%~nf.zip (%%f)

发送至:

FOR %%f in ("C:\files*.xml") DO 7za.exe a "C:\files\zips\%%~nf.zip" (%%f)

变量%%f也可能需要加引号。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接