How to get a batch file to handle spaces in file names?

China☆狼群 提交于 2019-12-01 01:26:46

问题


I am using the following batch file to make a zip file for each xml in a folder:

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

However if the file name has a space in it (test plop.xml) then the batch file does not work. It seems to split the name and thinks it is 2 files.

How to modify the batch file so that it properly handles file names with spaces?


回答1:


Try placing quotes around the output file name.

Change

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

to:

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

May also be the variable %%f, may need to place quotes around this as well.



来源:https://stackoverflow.com/questions/4805799/how-to-get-a-batch-file-to-handle-spaces-in-file-names

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!