क्रमिक रूप से नए नाम उत्पन्न करने के लिए विंडोज में बल्क का नाम बदलें


-2

मुझे कुछ फ़ाइल नामों का नाम बदलने में सहायता की आवश्यकता है। मेरे पास लगभग 300 निर्देशिकाएं हैं। सभी फाइलें Word .docxफाइलें हैं, और नाम बदलने के बाद Word फाइलें बने रहने की जरूरत है।

प्रत्येक फ़ोल्डर में मेरे पास 1 और 20 फाइलें हैं ( 26 से अधिक कभी नहीं )। मुझे उन्हें कुछ क्रम में लेने की आवश्यकता है (आदर्श रूप से उनके वर्तमान नाम से अक्षर) और इस पैटर्न का पालन करने के लिए उनका नाम बदलें:

Example A.docx
Example B.docx
Example C.docx
    etc. 

मैं बाहरी सॉफ्टवेयर का उपयोग नहीं कर सकता, बस टर्मिनल।


आपका प्रश्न स्पष्ट नहीं है। आप प्रत्येक फ़ोल्डर के माध्यम से जाना चाहते हैं, और फिर, पहली फ़ाइल के लिए, इसे नाम दें Example A, दूसरी फ़ाइल Example B, आदि? क्या आदेश लागू किया जाना चाहिए? 26 से अधिक फाइलें होने पर क्या होना चाहिए? आपने पहले से क्या कोशिश की है? कहां फंस गए?
slhck

क्या आपने कमांड लाइन में फोरफाइल्स कमांड के उपयोग पर ध्यान दिया है?
ट्रेनी

1
" पाइपिंग कमांड थ्रू ए FOR /Fलूप " पर शोध । आप DIR /S /Bशायद कमांड का उपयोग करना चाहते हैं और कमांड आउटपुट या जो भी हो, के लिए सीमक के रूप में स्थान को हटाने "TOKENS=*"या उपयोग करने के लिए मत भूलना "DELIMS="। त्वरित उदाहरण तदनुसार आदेश का for /f "tokens=*" %a in ('dir /s /b "<folderPath>"') do echo "%~a"उपयोग करें RENऔर " लूप के लिए उपयोग" चर प्रतिस्थापन " " भी। त्वरित विचार के शुरुआती बिंदु ....
दलाल जूस आईटी

@slhck वास्तव में, पहली फ़ाइल उदाहरण A, दूसरी - उदाहरण B और इसके बाद की होगी। वर्णमाला में अक्षरों से अधिक फाइलें कभी नहीं होती हैं। इसलिए, मेरे पास लगभग 300 फ़ोल्डर हैं, और हाथ से सब कुछ नाम बदलकर बुरे सपने आ रहे हैं। मैंने अंतर्निहित विंडोज बल्क-नाम बदलने की कोशिश की, लेकिन यह उन्हें फ़ाइल नाम में नंबर + कॉपी देता है, जो मेरे लिए काम नहीं करता है। अधिकांश सलाह मेरे लिए लागू नहीं है, क्योंकि मुझे "नमूना" और पत्र के बीच एक स्थान (और अंडरस्कोर_ नहीं) की आवश्यकता है। क्या यह मदद करता है?
Densetsu

1
(Cont'd)… (2) आप कहते हैं “मैंने नीचे टिप्पणियों से एक सुझाव का उपयोग किया है जो काम करता है; एकमात्र मुद्दा यह है कि कंप्यूटर फ़ाइलों के प्रारूप को नहीं पहचानता है। ”(2a) आपको कहना चाहिए कि आपने क्या प्रयास किया है। अपने प्रश्न में स्क्रिप्ट की प्रतिलिपि बनाएँ (स्रोत को क्रेडिट देते हुए, निश्चित रूप से)। (२ बी) मैं मानता हूं कि आप हैरीमेक के उत्तर के बारे में बात कर रहे हैं ।  robinCS ने एक घंटा पहले एक टिप्पणी पोस्ट की जिसमें बताया गया कि कैसे संबोधित किया जाए। या तुमने कोशिश की? क्या हुआ?
स्कॉट

जवाबों:


0

यहाँ एक PowerShell स्क्रिप्ट है जो वह करती है जो आप पूछते हैं:

$letters = [char[]]([char]'A'..[char]'Z')
$directoryName = $null
$count = 0
Get-ChildItem -Path "your folder path" -File -Recurse | 
  ForEach-Object {
    if ($directoryName -eq $null -or $directoryName -ne $_.DirectoryName) {
      $directoryName = $_.DirectoryName
      $count = 0
  }
  $newname = "Example " + $letters[$count++] + ".docx"
  Rename-Item $_.fullname $newname
}

पहले बैकअप लें।


धन्यवाद! मैंने स्क्रिप्ट चलाई है, लेकिन इसमें कोई नाम नहीं बदला है। फ़ोल्डर का नाम "AsReceived" है। क्या आपके द्वारा साझा की गई स्क्रिप्ट का कोई हिस्सा है जिसे मुझे किसी दिए गए फ़ोल्डर / पथ को संशोधित करने की आवश्यकता है?
Densetsu

हां, वह हिस्सा जो चालाकी से छिपा हुआ है "your folder path"
harrymc

कमाल है, अब यह वास्तव में काम करता है। बस आखिरी सवाल - मैं जिन फाइलों का नाम बदल रहा हूं, वे वर्ड फॉर्मेट में हैं, लेकिन नाम बदलने के बाद, सिस्टम उन्हें इस तरह नहीं पहचानता है। इसका कोई उपाय?
Densetsu

@Densetsu आपको .docएक्सटेंशन जोड़ने की आवश्यकता है , अर्थात $newname = "Example " + $letters[$count++] + ".doc"
रोबिनटेकस 15

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