2011-01-26 12 views
8

私は、フォルダ内の各XML用のzipファイルを作成するために以下のバッチファイルを使用しています:バッチファイルを取得してファイル名のスペースを処理するにはどうすればよいですか?

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

ただし、ファイル名にスペース(test plop.xml)を持っているならば、バッチファイルは動作しません。それは名前を分割するようだと思うそれは2つのファイルです。

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

+0

ファイル名の前後に二重引用符を入れてみましたか?例: '(" %% f ")' –

答えて

14

出力ファイル名の前後に引用符を付けることを試みてください。

変更

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を得るようにもこの前後に引用符を配置する必要があるかもしれません。

+0

ありがとうございます。あなたの答えは私のために完全に助けてくれます。 –

関連する問題