2011-01-26 14 views
8

Sto usando il seguente file batch per creare un file zip per ogni XML in una cartella:Come ottenere un file batch per gestire gli spazi nei nomi dei file?

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

Tuttavia, se il nome del file ha uno spazio in esso (test plop.xml) quindi il file batch non funziona. Sembra dividere il nome e pensa che siano 2 file.

Come modificare il file batch in modo che gestisca correttamente i nomi di file con spazi?

+0

Hai provato a inserire virgolette sul nome del file? eg .: '(" %% f ")' –

risposta

14

Provare a collocare le virgolette sul nome del file di output.

Change

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

a:

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

può anche essere il %% variabile f, potrebbe essere necessario inserire le virgolette attorno a questo pure.

+0

Grazie. La tua risposta mi aiuta perfettamente. –

Problemi correlati