बैच फ़ाइल का उपयोग करके फ़ाइल नाम के अंत में पाठ (लेकिन विस्तार से पहले) जोड़ें


18

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

File 1.txt  ->  File 1 version 1.txt
File 2.txt  ->  File 2 version 1.txt
File 3.txt  ->  File 3 version 1.txt
File 4.txt  ->  File 4 version 1.txt
...

प्रत्येक स्थिति में, सभी फ़ाइलों में समान स्ट्रिंग है।

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

मैंने renकमांड की कोशिश की है और इस पृष्ठ पर कुछ उदाहरणों का पालन किया है , लेकिन परिणामी फ़ाइल नाम एक्सटेंशन के बाद स्ट्रिंग को जोड़ते हैं :

File 1.txt version 1.txt

आपके SS64 की जानकारी "यह पृष्ठ" लिंक इस SU Q & A (मेरे आशीर्वाद से) से आता है: Windows RENAME कमांड वाइल्डकार्ड की व्याख्या कैसे करता है? जब मैं नई सुविधाओं की खोज करता हूं, तो मैं SU उत्तर (आमतौर पर) बनाए रखता हूं।
डेबनहम

जवाबों:


6

लंबे समय तक फ़ाइल नाम के लिए आपको ?बड़े पैमाने पर ब्लॉक में कुछ और जोड़ना होगा?????????

ren *.?* ????????????????????????????????????????????????????????" version 1".*

2
इतनी जल्दी जवाब देने के लिए धन्यवाद! मैंने फ़ाइल एक्सटेंशन को बनाए रखने के लिए, और केवल txt फ़ाइलों को प्रभावित करने के लिए कमांड को थोड़ा संपादित किया: ren * .txt ???????????????????????? 1. पाठ "
द टर्कि

क्या होगा अगर मैं शुरुआत में कुछ जोड़ना चाहता हूं
फरहान हक

कितने ? पात्रों की आवश्यकता है?
केवेश कंवल

39

रेन के अनिर्धारित क्वर्की पर भरोसा करने के बजाय , यह उचित तरीका क्यों नहीं है?

for %a in (*.txt) do ren "%~a" "%~na version 1%~xa"

यदि आप इसे बैच फ़ाइल में उपयोग करना चाहते हैं तो बस प्रत्येक% चिह्न को दोगुना करना याद रखें।


1
अति उत्कृष्ट! यह किसी भी दिन बेहतर जवाब है। +1
Fr0zenFyr

क्या आपके पास "% ~" और अन्य के बारे में अधिक दस्तावेज हैं ताकि हम अपना संस्करण बना सकें?
जोमी

2

मैं कई फ़ाइलों में "_A" जोड़ना चाहता था और यह मैंने कैसे किया।

मैंने पहले एक्सटेंशन को हटा दिया, प्रत्यय को जोड़ दिया, फिर एक्सटेंशन को वापस मूल में बदल दिया। इसने मेरे लिए काम किया और बैच कोड को सरल रखा, क्योंकि मैं ज्यादा प्रोग्रामर नहीं हूं।

@ECHO OFF

REN *.pdf *.
REN *. *_A.
REN *. *.pdf

2

उन लोगों के लिए जो आज्ञा के साथ अनुभवहीन हैं (मेरे जैसे), ऐसे कुछ सॉफ्टवेयर्स हैं जो थोक का नाम बदलना बहुत आसान बनाते हैं:

  • थोक नाम उपयोगिता (कोई खुला स्रोत नहीं)
  • नाम बदलें-It! (खुला स्त्रोत)

1

@ bwDraco का समाधान अच्छा था लेकिन इसे सरल रखा जा सकता था। फ़ाइलों का मेरा सेट सभी * .jpg था और मैं उन सभी का नाम बदलना चाहता था * c.jpg। आपको इसके लिए केवल 2 चरणों की आवश्यकता है, न कि 3:

ren "{filepath}\*.jpg" *.
ren "{filepath}\*" *c.jpg

0

सबफ़ोल्डर्स के माध्यम से पुनरावृत्ति

#!/bin/bash
# Warning: globstar excludes hidden directories.
# Turn on recursive globbing (in this script) or exit if the option is not supported:
shopt -s globstar || exit
for f in **
do
if [ -f "$f" ]; then
   extn=${f##*.} # save the extension of the file
   #mv "$f" "${f%.*}"_suffix.${extn};
   mv "$f" "${f%.*} version 1".${extn};
fi
done
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.