如何获取批处理文件来处理文件名中的空格?

时间:2011-01-26 14:42:09

标签: batch-file filenames

我使用以下批处理文件为文件夹中的每个xml创建一个zip文件:

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

但是,如果文件名中有空格(test plop.xml),则批处理文件不起作用。它似乎拆分了名称并认为它是2个文件。

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

1 个答案:

答案 0 :(得分:15)

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

更改

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,也可能需要在此处附加引号。