Cmd या Powershell का उपयोग करके कई फ़ाइलों को "संशोधित तिथि / समय" के रूप में नाम बदलें


9

मेरे पास एक फ़ोल्डर में सैकड़ों JPG फाइलें हैं। मैं प्रत्येक फ़ाइल का नाम बदलना चाहता हूं ताकि फ़ाइल का नाम उस फ़ाइल के "संशोधित दिनांक / समय" के साथ बदल दिया जाए DD.MM.RRRR.HH.MM.jpg। उदाहरण के लिए,

Before    After  

001.jpg   11.01.2011.16.58.jpg  
002.jpg   12.01.2011.09.32.jpg  
003.jpg   14.01.2011.12.41.jpg  
...       ...

चूंकि कोलन (:) का उपयोग फ़ाइल नामों में नहीं किया जा सकता है, HH और MM के बीच के कोलन को एक अवधि के साथ प्रतिस्थापित किया जाना चाहिए।

मैं एक 3 पार्टी उपकरण का उपयोग नहीं करना चाहता। क्या आप मुझे पॉवर्सशेल या कमांड लाइन में इसे प्राप्त करने के लिए कोड प्रदान कर सकते हैं?

जवाबों:


15

Powershell में यह प्रयास करें:

Get-ChildItem *.jpg | Rename-Item -newname {$_.LastWriteTime.toString("dd.MM.yyyy.HH.mm") + ".jpg"}

0

मुझे उम्मीद है कि आप लोग यहाँ मेरी प्रतिक्रिया को बुरा नहीं मानेंगे।

'Rename-Item' ने मुझे यह त्रुटि दी: Rename-Item: फ़ाइल को पहले से मौजूद होने पर फ़ाइल नहीं बनाई जा सकती।

इसलिए मैंने Siim K के समाधान को निम्नानुसार जोड़ा है और इसे 'Windows Powershell ISE' के भीतर चलाया है:

Get-ChildItem * .jpg | ForEach-Object {$ NewName = $ .LastWriteTime.toString ("yyyy.MM.dd.HH.mm.ss.ss") + ($ स्क्रिप्ट: i ++) + ".jpg" $ Destination = Join-Path -ath $ -Directory.FullName -ChildPath $ NewName Move-Itemathath $ _। FullName -Destination $ Destination -Force}

मुझे 'yyyy.MM.dd.mm.ss.ss' ऑर्डर मिला, जिसने मेरी छवियों को बेहतर तरीके से सूचीबद्ध किया और मैंने पहचाना कि मेरी कोई भी छवि गणना फ़ोल्डर के भीतर (गलती से शुद्ध) नहीं हुई थी। मुझे उम्मीद है कि यह अन्य 'सुपरसर्स' (शुरुआती या अनुभवी) के लिए उपयोगी है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.