एक साथ कई फ़ाइलों का नाम कैसे बदलें?


26

मैं एक साथ कई फ़ाइलों का नाम बदलना चाहता हूं। उदाहरण के लिए:

Picture1.jpg
Picture2.jpg
Picture3.jpg
Picture4.jpg

में

Vacation-Picture1.jpg
Vacation-Picture2.jpg
Vacation-Picture3.jpg
Vacation-Picture4.jpg

मैं टर्मिनल से काफी परिचित हूं, अगर कोई ऐप नहीं है जो फ़ाइलों का नाम बदलने में काफी अच्छा है।

जवाबों:


25

कुछ इस तरह की कोशिश करो:

 for file in Picture*.jpg
 do
    mv "$file" "vacation-$file"
 done  

(टर्मिनल खोलें और एक बार में एक लाइन {Enter दबाएं) जोड़ें।)

प्रत्येक प्रविष्टि के मिलान के लिए चर फ़ाइल का उपयोग करता है Picture*.jpg। फिर यह फ़ाइल या फ़ोल्डर लेता है और इसे "छुट्टी" के साथ उपसर्ग करने के लिए स्थानांतरित करता है।

उम्मीद है की वो मदद करदे


1
क्या होगा अगर मैं Vacation-Picture4.jpgवापस नाम बदलना चाहूंगा Picture4.jpg? अर्थात्, फ़ाइल नाम से एक शब्द हटा रहा है। धन्यवाद!
ज़ी

24
brew install rename

rename s/config\./route\.config\./g *

सबसे पहले आपको होमब्रे स्थापित करने की आवश्यकता है। फिर नाम बदलें, और ऊपर regex "config" के साथ सभी फ़ाइलों का नाम बदल देता है। "path.config" के लिए।

तो फ़ाइलों को config.a.js और config.b.js -> path.config.a.js, path.config.b.js कहें।


brew desc renameआदेश के अनुसार : "नाम बदलें: पर्ल-चालित फ़ाइल का नाम कई सहायक बिल्ट-इन के साथ स्क्रिप्ट का नाम बदलें"। brew home renameआदेश सुराग के लिए http://plasmasturm.org/code/rename/ आदि प्रलेखन के लिए,
kjones

22

कमांड लाइन की कोई आवश्यकता नहीं ...

  1. सभी छवियों को एक फ़ोल्डर में बदला जा सकता है।
  2. सभी फ़ाइलों का चयन करें, माउस पर राइट क्लिक करें और " x आइटम का नाम बदलें" चुनें
  3. पहले ड्रॉप डाउन मेनू से "टेक्स्ट जोड़ें" चुनें
  4. दूसरी ड्रॉप डाउन मेनू से "नाम से पहले" चुनें
  5. टेक्स्ट बॉक्स में "वैकेशन_" दर्ज करें (उद्धरण चिह्नों के बिना)
  6. एंटर दबाए।

3

जबकि टर्मिनल समाधान नहीं है, मुझे इस उद्देश्य के लिए फोर्कलिफ्ट पसंद है (और कई अन्य लोगों के लिए)। उनकी वेबसाइट से:

फोर्कलिफ्ट का मल्टी-रीनेम फीचर वर्णन


हां, यह सुनिश्चित करने के लिए कि टर्मिनल आधारित समाधान है। मैं यह भी शक्तिशाली गूगल पर पाया;) manytricks.com/namemangler
YeppThat'sMe

आप अतिरिक्त उत्तर के रूप में NameMangler को भी पोस्ट कर सकते हैं, क्योंकि यह मूल रूप से एक अनुशंसा प्रश्न है। :)
दान जे

फोर्कलिफ्ट के साथ कई फ़ाइलों (पुनरावर्ती) का नाम बदलने के लिए .. बस सभी फ़ाइलों का चयन करें फिर सीएमडी + द्वारा सभी निर्देशिकाओं का व्यय करें। जब तक आप उन सभी को कवर नहीं करते .. तब तक मेरे साथ काम करना
मैहर अबूथरा


2

यदि आप अधिक लचीला समाधान पसंद करते हैं और नियमित अभिव्यक्ति के साथ काम करने में सक्षम हैं, तो यह थोड़ा पर्ल स्क्रिप्ट बहुत उपयोगी है:

#!/usr/bin/perl
# rename - Larry's filename fixer
# Usage: rename perlexpr [files]

($op = shift) || die "Usage: rename perlexpr [filenames]\n";

chomp(@ARGV = <STDIN>) unless @ARGV;

for (@ARGV) {
    $was = $_;
    eval $op;
    die $@ if $@;
    rename($was,$_) unless $was eq $_;
}

1
दिलचस्प है लेकिन स्पष्ट नहीं है कि यह कैसे काम करता है। क्या आप एक या दो उदाहरण दे सकते हैं?
भूगर्भीय

2

यदि आप फ़ाइलों का नाम बदलना चाहते हैं, तो मैंने इसके लिए एक छोटी स्क्रिप्ट बनाई है।

# Rename Bullk files.
# Renames all the files in PWD with the given extension.
#
# @param extension | jpg
# @param new_name | name
# Usage: rename jpg new_name
function rename() {
    echo "———————————————— STARTED ————————————————"

    # Counter.
    COUNTER=1

    # For do loop.
    for file in *."$1"; do
        mv "$file" "$2-$COUNTER.$1"
        COUNTER=$[$COUNTER +1]
    done
    echo "———————————————— ✔✔✔ RENAMED Every $1 file in the PWD! ✔✔✔︎ ————————————————"
}

बस इसे अपने में रखें .bashrcया .zshrcचलाएं Usage: rename jpg new_nameयह PWD में सभी jpg फ़ाइलों को नए_name-1.jpg, new_name-2.jpg, आदि में बदल देगा।

चीयर्स!


वैकल्पिक रूप से फ़ंक्शन को .bashrc या .zshrc फ़ाइलों में डालने के लिए मैंने इसे अपने .bash_profile में डाला और यह बहुत अच्छा काम करता है!
ऐलेना
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.