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
ध्यान दें
मंच पर इस टिप के लिए टॉमी को धन्यवाद।