web-dev-qa-db-ja.com

ファイル名のスペースを処理するバッチファイルを取得するにはどうすればよいですか?

次のバッチファイルを使用して、フォルダー内の各xmlのZipファイルを作成しています。

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

ただし、ファイル名にスペースが含まれている場合(test plop.xml)その後、バッチファイルは機能しません。名前が分かれているようで、2ファイルだと思います。

スペースを含むファイル名を適切に処理するようにバッチファイルを変更するにはどうすればよいですか?

8
john

出力ファイル名を引用符で囲んでみてください。

変化する

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の場合もあり、これを引用符で囲む必要がある場合もあります。

16
Fred