2013-04-21 6 views
14

में बैच का उपयोग कर-स्ट्रिंग की जगह फ़ाइल का नाम बदलने के लिए मैं " -file.jpg का नाम बदलने के लिए कैसे-हैं-" कोकी तरह फ़ाइल नाम का नाम बदलना चाहते "कैसे-हैं- पुन: उपयोग -file.jpg " विंडोज बैच फ़ाइल का उपयोग करकेकैसे विंडोज

आईई मैं केवल एक या दो शब्दों को फ़ाइल नाम में बदलना चाहता हूं।

+1

कृपया जो भी आपने कोशिश की है उसे जोड़ें। इसके अलावा, हमें और जानकारी चाहिए। –

+0

कोशिश करने पर विचार करें [थोक नाम बदलें] (http://www.bulkrenameutility.co.uk/Download.php)। –

+0

@casperOne hmmm ... थोड़ा बहुत सख्त मुझे लगता है। –

उत्तर

33
@echo off 

Set "Filename=how-to-rename-file.jpg" 
Set "Pattern=rename" 
Set "Replace=reuse" 

REM Call Rename "%Filename%" "%%Filename:%Pattern%=%Replace%%%" 

Call Echo %%Filename:%Pattern%=%Replace%%% 
:: Result: how-to-reuse-file.jpg 

Pause&Exit 

मैं तुम्हें फ़ाइलों की एक पाश के लिए अन्य उदाहरण दे:

अद्यतन:

मैं तेजी से टाइपिंग मेरा आखिरी संपादित वाक्य रचना क्योंकि में कुछ बातें याद किया गया है, यहां सही कोड है:

@echo off 
Setlocal enabledelayedexpansion 

Set "Pattern=rename" 
Set "Replace=reuse" 

For %%# in ("C:\Folder\*.jpg") Do (
    Set "File=%%~nx#" 
    Ren "%%#" "!File:%Pattern%=%Replace%!" 
) 

Pause&Exit 

पीएस: आप सबस्ट्रिंग के बारे में अधिक जानने के लिए यहां पढ़ सकते हैं: http://ss64.com/nt/syntax-substring.html http://ss64.com/nt/syntax-replace.html

+4

दूसरा कोड बिल्कुल वही है जो मुझे चाहिए। आपकी मदद के लिए बहुत बहुत धन्यवाद। तारों के बारे में और जानने के लिए मुझे लिंक प्रदान करने के लिए धन्यवाद, मुझे यह लिंक बहुत ही जानकारीपूर्ण मिला :-) – Varun

+1

आपने एक सरल सेट के बजाय 'सेट' फ़ाइल = %% ~ nx # "' का उपयोग क्यों किया "फ़ाइल = %% #" ' –

+1

@ मार्को डेमायो आरक्षित के लिए आरक्षित में नए उपयोगकर्ताओं को पेश करने के लिए। – ElektroStudios

23

कोड ऊपर फ़ाइलों का नाम नहीं करता है - पथ एक मुद्दा और स्रोत फ़ाइल नाम सही नहीं है कर रहे हैं।

यह मौजूदा फ़ोल्डर में फ़ाइलों पर काम करेगा - इसके अलावा उनको छोड़कर! नामों में एक समस्या होगी।

@echo off 
Setlocal enabledelayedexpansion 

Set "Pattern=rename" 
Set "Replace=reuse" 

For %%a in (*.jpg) Do (
    Set "File=%%~a" 
    Ren "%%a" "!File:%Pattern%=%Replace%!" 
) 

Pause&Exit 
+0

मुझे पता है कि यह एक पुराना विषय है, लेकिन स्थानीय फ़ोल्डर का उपयोग करने के बजाय फ़ोल्डर को परिभाषित करने के लिए मुझे क्या जोड़ना चाहिए? – Schuere

+1

प्ले 'पुशड "सी: \ फोल्डर" 'लूप के ऊपर, या' cd/d" c: \ folder "' – foxidrive

+0

का उपयोग करें यह एक आकर्षण की तरह काम करता है! उत्तम सामग्री! –