2012-01-08 28 views
10

मैं कुछ फ़ाइलों का नाम बदलने के लिए एक बीएटी फ़ाइल लिख रहा हूं। मेरी फ़ाइलें *.jpg हैं जहां * फ़ाइल का नाम है और मैं उन्हें *-thumb.jpg होना चाहता हूं।वाइल्डकार्ड का उपयोग कर cmd में फ़ाइलों का नाम बदलना

RENAME *.jpg *-thumb.jpg करने की कोशिश करते समय मेरी फ़ाइलें *.jpg-thumb.jpg के रूप में दिखाई देती हैं।

उत्तर

10

कुछ की तरह:

for %%f in (*.jpg) do rename "%%f" "%%~nf-thumb.jpg" 
+0

यहां अधिक जानकारी: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/for.mspx?mfr=true –

+0

शानदार यह काम करता है! मैंने% ~ nf.jpg से पहले% ~ nf.jpg जोड़ा है ~ nf-thumb.jpg – estevecp96

+0

@ पीटर लिल्जेनबर्ग ने आपका उत्तर अपडेट किया - यह नाम बदलें कमांड में मूल फ़ाइल नाम गायब था। रिक्त स्थान के साथ फ़ाइल नामों को संभालने के लिए भी जोड़ा गया है, और% की दोगुनी हो गई है, इसलिए कमांड बैच फ़ाइल – shf301

22

असल नाम बदलें अकेले आदेश समस्या को हल कर सकते हैं। जब तक नाम में केवल एक . है। यदि आप एक * के बजाय कई ? का उपयोग करते हैं।

REN *.jpg ????????????????????-thumb.* 

बस सुनिश्चित करें कि ? की संख्या सबसे लंबे समय तक फ़ाइल नाम है कि में बदल दिया जाएगा के रूप में कम से कम जब तक है या नहीं।

अधिक जानकारी के लिए How does the Windows RENAME command interpret wildcards? देखें।

संबंधित मुद्दे