2011-01-26 47 views
8

Tôi đang sử dụng tập tin thực thi sau đây để tạo ra một file zip cho mỗi xml trong thư mục:Làm thế nào để có được một tập tin thực thi để xử lý không gian trong tên tập tin?

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

Tuy nhiên nếu tên tập tin có một không gian trong đó (test plop.xml) sau đó tập tin thực thi không hoạt động. Có vẻ như để tách tên và nghĩ rằng nó là 2 tập tin.

Làm cách nào để sửa đổi tệp lô để tệp đó xử lý đúng tên tệp bằng dấu cách?

+0

Bạn đã thử đặt hai dấu ngoặc kép quanh tên tệp chưa? ví dụ: '(" %% f ")' –

Trả lời

14

Thử đặt dấu ngoặc kép xung quanh tên tệp đầu ra.

Thay đổi

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

tới:

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

Cũng có thể biến %% f, có thể cần phải đặt dấu ngoặc kép quanh này là tốt.

+0

Cảm ơn. Câu trả lời của bạn hoàn toàn trợ giúp tôi. –

Các vấn đề liên quan