मैं हजारों फ़ाइलों के एक्सटेंशन को बदलने के लिए विंडोज कमांड लाइन का उपयोग कैसे कर सकता हूं *****.jpg?
मैं हजारों फ़ाइलों के एक्सटेंशन को बदलने के लिए विंडोज कमांड लाइन का उपयोग कैसे कर सकता हूं *****.jpg?
जवाबों:
आप उपयोग कर सकते हैं ren( नाम बदलने के रूप में ):
ren *.XXX *.YYY
और हां, उपयुक्त एक्सटेंशन के लिए XXX और YYY स्विच करें। यह बदल जाएगा से XXX को YYY। यदि आप सभी एक्सटेंशन बदलना चाहते हैं, तो फिर से वाइल्डकार्ड का उपयोग करें:
ren *.* *.YYY
इस कार्य को पुनरावर्ती बनाने का एक तरीका FORकमांड के साथ है । इसका उपयोग /Rमेल खाने वाली फाइलों पर कमांड को फिर से लागू करने के विकल्प के साथ किया जा सकता है । उदाहरण के लिए:
for /R %x in (*.txt) do ren "%x" *.renamed
वर्तमान निर्देशिका में प्रारंभ होकर, सभी .txtएक्सटेंशन को .renamedपुनरावर्ती में बदल देगा ।
%xवैरिएबल है जो मिलान किए गए फ़ाइल नामों को रखता है।
और, जब से आपके पास हजारों फाइलें हैं, तब तक इंतजार करना सुनिश्चित करें जब तक कि कर्सर फिर से झपकी न लगे कि यह काम कर रहा है।
नोट: यह केवल cmd पर काम करता है। पॉवरशेल या बैश पर काम नहीं करेंगे
ren *.* *.jpg > E:\Log\Cmd\ExtChange\ext.txt?
FOR
नाम का व्यवहार कभी-कभी 'सहज से कम' होता है; उदाहरण के लिए...
ren। .THM * .jpg .jpg का विस्तार करने के लिए अपनी THM फ़ाइलों का नाम बदलेंगी। उदाहरण: GEDC003.THM GEDC003.jpg होगा
ren * .THM * b.jpg आपकी THM फ़ाइलों का नाम बदलकर * .THMb.jpg कर देगा। जैसे: GEDC004.THM GEDC004.THMb.jpg बन जाएगा
ren * .THM * .b.jpg आपकी THM फ़ाइलों का नाम बदलकर * .b.jpg कर देगा: GEDC005.THM बन जाएगा GEDC005.b.jpg
नोट: विंडोज के लिए नहीं
रेन-1.0 का सही रूप में उपयोग करना है:
"ren *.*" "#2.jpg"
से man ren
प्रतिस्थापन पैटर्न एम्बेडेड वाइल्डकार्ड इंडेक्स के साथ एक और फ़ाइल नाम है, जिनमें से प्रत्येक में वर्ण # 1 से एक अंक तक होता है। 9. मिलान फ़ाइल के नए नाम में वाइल्डकार्ड इंडेक्स को संदर्भित किए गए वास्तविक वर्णों द्वारा प्रतिस्थापित किया जाता है। मूल फ़ाइल नाम में वाइल्डकार्ड।
तथा
ध्यान दें कि शेल आमतौर पर वाइल्डकार्ड * और? फैलता है, जो कि रेन के मामले में अवांछनीय है। इस प्रकार, ज्यादातर मामलों में उद्धरणों में खोज पैटर्न को संलग्न करना आवश्यक है।
man ren? प्रश्न विंडोज / के बारे में था cmd। क्या अब वे manपृष्ठ प्रदान करते हैं ? क्या है ren-1.0और हम इसके manपृष्ठ को संदर्भ में कैसे देख सकते हैं ?
यह आसान है
ren *.* *.jpg
कमांड प्रॉम्प्ट में यह प्रयास करें
कई फ़ाइल एक्सटेंशन का नाम बदलें:
आप बदलना चाहते हैं ringtone1.mp3, ringtone2.mp3करने के लिए ringtone1.wav,ringtone2.wav
यह कैसे करना है: मैं कमांड प्रॉम्प्ट (सीएमडी) पर डी ड्राइव में हूं इसलिए मैं उपयोग करता हूं:
d:\>ren *.* *.wav
यह फ़ाइल एक्सटेंशन का एक उदाहरण है, आप WAV, MP3, JPG, GIF, bmp, PDF, DOC, DOCX, TXT जैसे किसी भी प्रकार के फ़ाइल एक्सटेंशन का उपयोग कर सकते हैं, यह आपके ऑपरेटिंग सिस्टम पर निर्भर करता है।
और, जब से आपके पास हजारों फाइलें हैं, तब तक इंतजार करना सुनिश्चित करें जब तक कि कर्सर फिर से झपकी न लगे कि यह काम कर रहा है।
मेरे मामले में मेरे पास 800+ फाइलों के साथ एक निर्देशिका थी .StoredProcedure.sql(वे SSMS के साथ स्क्रिप्ट की गई थीं )।
ऊपर पोस्ट किए गए समाधान काम नहीं किए। लेकिन मैं इसके साथ आया:
( बैच प्रोग्रामिंग के जवाबों के आधार पर - फ़ाइल के सापेक्ष पथ प्राप्त करें )
@echo off
setlocal enabledelayedexpansion
for %%f in (*) do (
set B=%%f
set B=!B:%CD%\=!
ren "!B!" "!B:.StoredProcedure=!"
)
उपरोक्त स्क्रिप्ट .StoredProcedureफ़ाइल नाम से प्रतिस्थापन को हटा देती है । मुझे यकीन है कि इसे अधिक मामलों को कवर करने के लिए अनुकूलित किया जा सकता है, इनपुट के लिए पूछें और समग्र रूप से अधिक सामान्य हो।
setइस एक के साथ अपने दो आदेशों को बदलें set "B=%%~nxf":। ( %%~nxfहै n ame और ई एक्स के तनाव %%f)। %cd%जब आप इसे पुनरावर्ती करते हैं, तो यह अमान्य हो सकता है।
मुझे पता है कि यह बहुत पुराना है, लेकिन मैं इस पर उतरा हूं, और प्रदान किए गए उत्तर मेरे लिए शक्तियों पर काम नहीं करते हैं, इसलिए इस समाधान को खोजने के बाद
शक्तियां में करने के लिए
Get-ChildItem -Path C:\Demo -Filter *.txt | Rename-Item -NewName {[System.IO.Path]::ChangeExtension($_.Name, ".old")}
इसका श्रेय http://powershell-guru.com/powershell-tip-108-bulk-rename-extensions-of-files/ को जाता है