किसी फ़ोल्डर में सभी पीडीएफ फाइलों के लिए एक सरल "हैलो" उपसर्ग जोड़ने के लिए मैं इस बैच फ़ाइल का उपयोग कर रहा आदेश में:विंडोज बैच, क्यों दो बार कहते हैं?
FOR %%F IN (*.pdf) DO (RENAME "%%F" "hello%%F")
एक "rename.bat" फ़ाइल में इस सहेजा गया और में रखा फ़ोल्डर को फ़ाइलों का नाम बदलने की जरूरत है। फिर मैं बस "rename.bat" पर डबल क्लिक करें।
यह लगभग काम करता है लेकिन 1 फ़ाइल उपसर्ग दो बार जोड़ा जाता है।
के फ़ोल्डर में मान लीजिए मैं है
- hellohelloA.pdf
- helloB.pdf
- helloC: A.pdf, B.pdf, C.pdf, वे में बदल .pdf,
क्या आपको पता है बैच फ़ाइल में क्या गलत है?
मैंने देखा कि यह हमेशा ऐसा करता है जब फ़ाइलें एक से अधिक हैं। यह ठीक काम करता है जब वहाँ फ़ोल्डर में केवल एक फ़ाइल है, लेकिन यह बहुत ही उपयोगी :-) नहीं है।
FOR /f "delims=" %%F IN ('DIR /a-d /b *.pdf') DO (RENAME "%%F" "hello%%F")
उपयोग DIR/बी और पाइप किसी पाठ फ़ाइल में नामों की सूची। फिर उस सूची के बावजूद फिर से शुरू करें। वर्तमान में आप उस फ़ोल्डर में परिवर्तन करते समय फ़ोल्डर को फिर से सक्रिय कर रहे हैं। – RGuggisberg
संभावित डुप्लिकेट [बैच फ़ाइल में लूप के लिए एक फ़ाइल दो बार नाम बदलता है] (http://stackoverflow.com/questions/18519458/for-loop-in-batch-file-renames-one-file-twice) – MichaelS