BAT कमांड को एक चार्ज़ डालने के लिए। एक फ़ाइल नाम में

मुद्दा

मुझे एक समस्या है, जिसका एक समाधान मैं कुछ साल पहले ठोकर खा गया था, लेकिन अफसोस - मेरा भंडारण हाल ही में दुर्घटनाग्रस्त हो गया और मैंने बैच फ़ाइल खो दी!

हम w / इस अजीब फ़ाइल का नाम शुरू करते हैं:

रैंक (सभी) _so2_1hr_conc_A_2p5h10.dat

निम्नलिखित बैट उपयोगिता बड़ी चतुराई से 'ए' (पहले 23 वर्णों) के सामने सब कुछ छीन लेती है।

 @echo के लिए %% i से (* .dat) करते हैं (fName = %% i सेट करें) और कॉल करें: rename goto: eof: rename :: fName के प्रथम 23 वर्णों को क्रॉप करता है ('रैंक (सभी _so2_1hr_conc_'): ren% fName%% fName: ~ 23% goto: eof 

महान! यह प्रतिपादन करता है:

A_2p5h10.dat

अब मुझे इसे बदलने की आवश्यकता है:

A_2p5h100.dat

सूचना '... h10' को '... h100' होना चाहिए। ध्यान दें कि, इस उदाहरण में, 'पूर्व' भाग। 'A_2p5h10' है, यह किसी भी 8 वर्ण का तार हो सकता है (इसलिए हमें वाइल्डकार्ड या कुछ और चाहिए होगा)।

क्या आप कृपया एक नियमित सुझाव दे सकते हैं जो फ़ाइल नाम के बीच में '0' को जोड़ेगा (पूर्ववर्ती '' ')? निर्देशिका में सैकड़ों फ़ाइल नाम हैं जिन्हें इस रूपांतरण की आवश्यकता है।

जैसा कि मुझे याद है, क्रिटिकल कमांड (मुझे विश्वास है कि REN का इस्तेमाल किया गया था) जो ऐसा करता था वह बेहद सरल था (एक% से अधिक, जैसा कि याद है)।

उपाय

आप इस स्क्रिप्ट का उपयोग कर सकते हैं:

 @echo %% i के लिए (* .dat) करते हैं (fName = %% i सेट करें) और कॉल करें: rename goto: eof: rename :: फ़ाइल को पहले 23 वर्णों को त्यागकर, और अंतिम 7 का नाम बदलें और H100 जोड़ें। अंत में रेन% fName%% fName: ~ 23, -7% H100.plt गोटो: eof 

ध्यान दें

मंच पर इस टिप के लिए टॉमी को धन्यवाद।

पिछला लेख अगला लेख

शीर्ष युक्तियाँ