बैच सभी फ़ोल्डर्स, सबफ़ोल्डर्स और फ़ाइलों को कैपिटलाइज़ करता है


1

मैं एक निश्चित हार्ड ड्राइव पर सभी निर्देशिकाओं का नाम बदल रहा हूँ (C :) नहीं हर निर्देशिका के पहले अक्षर को कैपिटल करके (इसलिए: \images-> \Images)। दुर्भाग्य से मुझे खरोंच से इसे लिखने के लिए पर्याप्त अनुभव नहीं है।


1
अनिवार्य रूप से इस का उल्टा superuser.com/questions/65302/...
Martheen Cahya पाउलो

जवाबों:


4

निम्न मूल बैच स्क्रिप्ट ड्राइव X में सभी निर्देशिकाओं का नाम बदल देगी :, केवल पढ़ने, अनदेखा करने, और सिस्टम निर्देशिकाओं को अनदेखा करने और पीछे के बिंदुओं को अनदेखा करने के लिए। यह नामों को निचले मामले में परिवर्तित करता है और फिर निर्देशिका नाम (अंग्रेजी वर्ण) के प्रारंभिक वर्ण को कैपिटल करता है। यह यूनिकोड को नामों में नहीं संभालता है।

@echo off
setlocal disableDelayedExpansion
set "drive=x"
set "tempFile=%temp%\initUpper%random%.txt"
dir /s /b /l /ad-l-h-s-r %drive%:\* >"%tempFile%"
for /f "usebackq eol=: delims=" %%F in ("%tempFile%") do (
  set "old=%%F"
  set "new=%%~nxF"
  setlocal enableDelayedExpansion
  for %%C in (
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  ) do if /i "!new:~0,1!" equ "%%C" set "new=%%C!new:~1!"
  ren "!old!" "!new!" 2>nul || echo unable to rename !old!
  endlocal
)
del "%tempFile%"

स्क्रिप्ट प्रदर्शन कारणों के लिए एक अस्थायी फ़ाइल का उपयोग करता है। इसे डीआईआर कमांड के आउटपुट को सीधे पढ़ने के लिए संशोधित किया जा सकता है। लेकिन आउटपुट काफी बड़ा हो सकता है, और कमांड परिणाम सेट बहुत बड़ा होने पर FOR / F बहुत धीमा हो जाता है।

कई मोड़ हैं जो डीआईआर कमांड पर लागू किए जा सकते हैं। उदाहरण के लिए:

/adफ़ाइलों और निर्देशिकाओं का नाम बदलने का विकल्प निकालें :dir /s /b /l /a-l-h-s-r

/a-h-sछिपे और सिस्टम फ़ोल्डर को शामिल करने के लिए विकल्प निकालें :dir /s /b /l /ad-l-r

/lसभी लेकिन प्रारंभिक वर्ण के मामले को संरक्षित करने का विकल्प निकालें :dir /s /b /ad-l-h-s-r


0

जैसा कि मार्थेन काया पॉलो ने टिप्पणियों में उल्लेख किया है, इस प्रश्न का उत्तर पहले ही दिया जा चुका है, हालांकि अप्रत्यक्ष रूप से।

आप के लिए एक महान उपकरण का उपयोग कर सकते हैं, अंतरिक्ष तूफान नेमर , के रूप में यहां पोस्ट: https://superuser.com/a/65304/125301 ,


हाँ, कई मुफ्त / सशुल्क जन रेनमर्स में से कोई भी यह आसानी से कर सकता है। मुझे यकीन है कि यह एक बैच फ़ाइल के रूप में अच्छी तरह से पूरा किया जा सकता है, लेकिन अगर यह बिल्कुल आवश्यक नहीं है, तो मैं आपको उनसे बचने की सलाह दूंगा (विशेषकर जब वे जटिल हो और बनाए रखने / अपडेट करने के लिए कठिन हो)।
करण

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