2011-01-26 12 views
8

मैं निम्नलिखित बैच फ़ाइल का उपयोग कर रहा एक फ़ोल्डर में प्रत्येक एक्सएमएल के लिए एक ज़िप फ़ाइल बनाने के लिए:कैसे एक बैच फ़ाइल फ़ाइल नामों में रिक्तियां को संभालने के लिए प्राप्त करने के लिए?

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

हालांकि फ़ाइल नाम यह (test plop.xml) में एक जगह है तो बैच फ़ाइल काम नहीं करता। यह नाम विभाजित करने के लिए लगता है और यह 2 फ़ाइलें है सोचता है।

कैसे बैच फ़ाइल को संशोधित करने के लिए इतना है कि यह ठीक से रिक्त स्थान के साथ फ़ाइल नाम संभालती है?

+0

आप फ़ाइल नाम के आसपास डबल उद्धरण डालने की कोशिश की है? उदा .: '(" %% च ")' –

उत्तर

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) 

भी चर %% च हो सकता है, इस के आसपास उद्धरण जगह के रूप में अच्छी पड़ सकता है।

+0

धन्यवाद। आपका जवाब मेरे लिए पूरी तरह से सहायक है। –