मैं एक्सप्लोरर का उपयोग करके विंडोज 7 में फ़ाइलनाम में एक चरित्र को कैसे ढूँढूं और बदलूं?


16

मैं एक फ़ाइल नाम में सभी अंडरस्कोर वर्णों ( _) को एक स्थान ( ) के साथ बदलना चाहता हूं ।

जब मैं बहुत सारे _वर्णों को प्रतिस्थापित कर सकता हूं, तो मैं यह कैसे जल्दी कर सकता हूं ?


4
जैसा कि उत्तर संकेत कर रहे हैं, एक्सप्लोरर में ऐसा करने का कोई तरीका नहीं है / है। आपको एक स्क्रिप्ट या एक बैच फ़ाइल रेनमर की आवश्यकता है।
शिन्राई

जवाबों:


20

vbScript को यह आपके लिए करना चाहिए। एक फ़ाइल बनाएं जिसका नाम "rename_underscores.vbs" है जिसमें निम्नलिखित शामिल हैं।

Set objFso = CreateObject("Scripting.FileSystemObject")
Set Folder = objFSO.GetFolder("c:\test\")

For Each File In Folder.Files
    sNewFile = File.Name
    sNewFile = Replace(sNewFile,"_"," ")
    if (sNewFile<>File.Name) then 
        File.Move(File.ParentFolder+"\"+sNewFile)
    end if

Next

सुनिश्चित करें कि फ़ोल्डर का नाम सही है। (उदाहरण में, मैंने c: \ test का उपयोग किया है) और फिर नाम बदलने के लिए अपनी फ़ाइल पर डबल क्लिक करें।


ध्यान दें कि वही फ़ोल्डर के साथ काम करता है, जो 'Folder.SubFolders' के बजाय 'Folder.Files' का उपयोग करता है।
मैक्स होहेनेगर

पूरी तरह से काम कर रहे हैं, बस रास्ते का ध्यान रखने की जरूरत है। +1 धन्यवाद
राज

4

मैं एक 3 पार्टी उपकरण का उपयोग करने की सलाह देता हूं जैसे बल्क का नाम उपयोगिता । यह मुफ़्त है और इसमें 1 एमबी से कम का इंस्टॉलर है।


1
यदि फ़ाइल का नाम "this_is_a_test.ext" है तो क्या होगा?
शॉनबॉय

1
थोक नाम उपयोगिता एक महान अनुप्रयोग है। इसकी बहुत बहुमुखी और मुझे नहीं लगता कि आप इसे एक्सप्लोरर के साथ प्राप्त कर सकते हैं।
एलेक्स एंजेलिको

डॉस कमांड इससे थोड़ा अधिक जटिल होगा। मैं मज़ाक करूँगा।
RJFalconer

3

यह डॉस बैट फाइल के दायरे में है। एक बैट फ़ाइल बनाएं (नया-> टेक्स्ट फ़ाइल, .bat के लिए एक्सटेंशन का नाम बदलें) फिर नीचे नीले वर्गों की प्रतिलिपि बनाएँ।

मैं इसे खंडों में विभाजित करता हूँ और समझाता हूँ कि यह क्या कर रहा है।


बाद में तुलना करने के लिए निर्देशिका की वर्तमान स्थिति को प्रिंट करें

dir /b

निर्देशिका में फ़ाइलों को सूचीबद्ध करें, फिर उन सभी के लिए जिनमें एक अंडरस्कोर और अंत में .txt है, उन पर ProcessFile कॉल करें।

for %%f in (*_*.txt) do call :ProcessFile %%f
goto :finished

वाक्यविन्यास "str =% str: x = y%" x के उदाहरणों को y से बदलता है। इस मामले में, हम कुछ भी नहीं के साथ "_" की जगह ले रहे हैं

:ProcessFile
set str=%1
rename %1 %str:_=%
goto :eof

बस!

अब यह केवल प्रिंट करता है जिसे बदल दिया गया था इसलिए हम पुष्टि कर सकते हैं कि यह अपेक्षित रूप से काम कर रहा है;

:finished
echo ----
dir /b

परिणाम (बल्ले फ़ाइल का हिस्सा नहीं)

baz_ing.txt
big_rawr.foo
foo_bar.txt
multiple_underscores_test.txt
----
bazing.txt
big_rawr.foo
foobar.txt
multipleunderscorestest.txt

2

जैसा कि दूसरों ने उल्लेख किया है, स्क्रिप्ट या बैच फ़ाइल का उपयोग किए बिना आप वास्तव में क्या करना चाहते हैं, इसका कोई तरीका नहीं है। उदाहरण के लिए, PowerShell में आप वह कर सकते हैं जो आप काफी आसानी से चाहते हैं:

cd "C:\Users\MyName\Documents\MyDirectory"
Dir | Rename-Item –NewName { $_.name –replace "_"," " }

बस अपनी निर्देशिका के पथ के साथ "C: \ Users \ MyName \ Documents \ MyDirectory" को बदलना सुनिश्चित करें।

अधिक विस्तार और अन्य विकल्पों के लिए, कुछ चीजों सहित, जिन्हें आप सिर्फ एक्सप्लोरर का उपयोग करके कर सकते हैं, यहां देखें: http://www.howtogeek.com/111859/how-to-batch-rename-files-in-windows-4-ways- टू-नाम बदलने-बहु-फ़ाइलें /


2

यहाँ मेरे बैच का नाम माणिक लिपि है । मैंने अन्य बैच का नाम बदलने वाले उपकरणों का उपयोग नहीं किया है, लेकिन मुझे लगता है कि मेरी स्क्रिप्ट का उपयोग करना बहुत आसान है और बहुत बहुमुखी है। यहाँ आपके मामले के लिए कमान है:

ruby bren.rb *_* "_/ "

मैंने अपने विंडो वातावरण को इस तरह से सेटअप किया है। bren.rb को किसी भी निर्देशिका से निष्पादन योग्य के रूप में निष्पादित किया जा सकता है।



1

यह स्पष्ट रूप से इस सवाल का जवाब नहीं देता है ('एक्सप्लोरर में ..'), लेकिन मुझे ऐसा करने के लिए सबसे उपयोगी सॉफ्टवेयर मिला था एडोब ब्रिज (फ्री)

  1. ब्रिज की सभी फाइलों को चुनें
  2. राइट क्लिक> बैच का नाम बदलें

जोड़ा गया बोनस: रेगेक्स का समर्थन करता है!

स्क्रीन शॉट

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