विंडोज पर एक कमांड के साथ एक फ़ोल्डर में सभी फाइलों के एक्सटेंशन को बदलना


145

मैं हजारों फ़ाइलों के एक्सटेंशन को बदलने के लिए विंडोज कमांड लाइन का उपयोग कैसे कर सकता हूं *****.jpg?


***** के रूप में सभी एक्सटेंशन को बदलने से आपका क्या मतलब है। jpg? क्या इसका मतलब है कि सभी फाइलें jpg के लिए एक्सटेंशन हैं? यदि हाँ, तो रेन का उपयोग करें * .jpg
इमरान रिज़वी

क्या ऑपरेटिंग सिस्टम? आप उन्हें कैसे बदलना चाहते हैं?
मारिज

पाठ्यक्रम विंडोज़ ऑपरेटिंग सिस्टम बंद @bryce ..
Berker Yüceer

जवाबों:


298

आप उपयोग कर सकते हैं 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 पर काम करता है। पॉवरशेल या बैश पर काम नहीं करेंगे


* .XXX उस विशेष एक्सटेंशन के लिए फाइलें बदल देगा (इसका मतलब है कि यह एक्सएक्सएक्स एक्सएक्सएक्स के साथ सभी फाइलों का नाम बदल देगा)
हबीब

@ keyser5053 क्या मुझे यहां की गई कार्रवाई के बारे में एक रिपोर्ट मिल सकती है .. का उपयोग करने के साथ ren *.* *.jpg > E:\Log\Cmd\ExtChange\ext.txt?
बर्क युसेर

और कैसे सभी उप-डायर में पुनरावर्ती प्रतिस्थापन के बारे में?
नाइटलाइफ़

@NightElfik मैंने एक पुनरावर्ती उदाहरण जोड़ा जो उपयोग करता हैFOR
कीसर

4
मैं इसे पॉवरशेल में काम करने के लिए नहीं प्राप्त कर सका, लेकिन इसने cmd.exe में ठीक काम किया। बस इतना है कि दूसरों को पता है।
हाजी

20

CMD पर

प्रकार

ren *.* *.jpg

सभी फ़ाइलों का चयन करेंगे, और नाम बदलकर * (क्या कभी नाम है) प्लस विस्तार करने के लिए jpg


10

नाम का व्यवहार कभी-कभी 'सहज से कम' होता है; उदाहरण के लिए...

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


अच्छा स्पष्टीकरण
अर्सलान अहमद

7

नोट: विंडोज के लिए नहीं

रेन-1.0 का सही रूप में उपयोग करना है:

"ren *.*" "#2.jpg"

से man ren

प्रतिस्थापन पैटर्न एम्बेडेड वाइल्डकार्ड इंडेक्स के साथ एक और फ़ाइल नाम है, जिनमें से प्रत्येक में वर्ण # 1 से एक अंक तक होता है। 9. मिलान फ़ाइल के नए नाम में वाइल्डकार्ड इंडेक्स को संदर्भित किए गए वास्तविक वर्णों द्वारा प्रतिस्थापित किया जाता है। मूल फ़ाइल नाम में वाइल्डकार्ड।

तथा

ध्यान दें कि शेल आमतौर पर वाइल्डकार्ड * और? फैलता है, जो कि रेन के मामले में अवांछनीय है। इस प्रकार, ज्यादातर मामलों में उद्धरणों में खोज पैटर्न को संलग्न करना आवश्यक है।


मुझे # 1: ren "* .csv" "# 1.json" का उपयोग करना पड़ा
elmalto

1
man ren? प्रश्न विंडोज / के बारे में था cmd। क्या अब वे manपृष्ठ प्रदान करते हैं ? क्या है ren-1.0और हम इसके manपृष्ठ को संदर्भ में कैसे देख सकते हैं ?
अंडरस्कोर_ड


3

बस बैच फ़ाइलों में ऐसा करने वाले लोगों के लिए, यह कोड काम कर रहा है:

FOR /R "C:\Users\jonathan\Desktop\test" %%f IN (*.jpg) DO REN "%%f" *.png

इस उदाहरण में .jpg एक्सटेंशन के साथ C: \ Users \ jonathan \ Desktop \ test निर्देशिका में सभी फाइलें बदलकर * .png हो जाती हैं।


2

कई फ़ाइल एक्सटेंशन का नाम बदलें:

आप बदलना चाहते हैं ringtone1.mp3, ringtone2.mp3करने के लिए ringtone1.wav,ringtone2.wav

यह कैसे करना है: मैं कमांड प्रॉम्प्ट (सीएमडी) पर डी ड्राइव में हूं इसलिए मैं उपयोग करता हूं:

d:\>ren *.* *.wav 

यह फ़ाइल एक्सटेंशन का एक उदाहरण है, आप WAV, MP3, JPG, GIF, bmp, PDF, DOC, DOCX, TXT जैसे किसी भी प्रकार के फ़ाइल एक्सटेंशन का उपयोग कर सकते हैं, यह आपके ऑपरेटिंग सिस्टम पर निर्भर करता है।

और, जब से आपके पास हजारों फाइलें हैं, तब तक इंतजार करना सुनिश्चित करें जब तक कि कर्सर फिर से झपकी न लगे कि यह काम कर रहा है।


1

मेरे मामले में मेरे पास 800+ फाइलों के साथ एक निर्देशिका थी .StoredProcedure.sql(वे SSMS के साथ स्क्रिप्ट की गई थीं )।

ऊपर पोस्ट किए गए समाधान काम नहीं किए। लेकिन मैं इसके साथ आया:

( बैच प्रोग्रामिंग के जवाबों के आधार पर - फ़ाइल के सापेक्ष पथ प्राप्त करें )

@echo off
setlocal enabledelayedexpansion
for %%f in (*) do (
  set B=%%f
  set B=!B:%CD%\=!
  ren "!B!" "!B:.StoredProcedure=!"
)

उपरोक्त स्क्रिप्ट .StoredProcedureफ़ाइल नाम से प्रतिस्थापन को हटा देती है । मुझे यकीन है कि इसे अधिक मामलों को कवर करने के लिए अनुकूलित किया जा सकता है, इनपुट के लिए पूछें और समग्र रूप से अधिक सामान्य हो।


2
setइस एक के साथ अपने दो आदेशों को बदलें set "B=%%~nxf":। ( %%~nxfहै n ame और ई एक्स के तनाव %%f)। %cd%जब आप इसे पुनरावर्ती करते हैं, तो यह अमान्य हो सकता है।
Stephan

1

मुझे पता है कि यह बहुत पुराना है, लेकिन मैं इस पर उतरा हूं, और प्रदान किए गए उत्तर मेरे लिए शक्तियों पर काम नहीं करते हैं, इसलिए इस समाधान को खोजने के बाद

शक्तियां में करने के लिए

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/ को जाता है


0

Renamer npm पैकेज का उपयोग करके फ़ाइलों का नाम बदलने का एक वैकल्पिक तरीका ।

नीचे फ़ाइल एक्सटेंशन का नाम बदलने का एक उदाहरण है

renamer -d --path-element ext --find ts --replace js *

0

मेरे लिए जो काम किया है वह यह है (पहले फ़ोल्डर में सीडी):

Get-ChildItem -Filter *.old | Rename-Item -NewName {[System.IO.Path]::ChangeExtension($_.Name, ".new")}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.