จะเปลี่ยนชื่อไฟล์หลายไฟล์พร้อมกันได้อย่างไร?


27

ฉันต้องการเปลี่ยนชื่อหลายไฟล์พร้อมกัน ตัวอย่างเช่น:

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

เข้าไป

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

ฉันค่อนข้างคุ้นเคยกับเทอร์มินัลหากไม่มีแอพซึ่งค่อนข้างดีในการเปลี่ยนชื่อไฟล์

คำตอบ:


26

ลองสิ่งนี้:

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

(เปิดเทอร์มินัลแล้วเพิ่มหนึ่งบรรทัด {กด Enter} ทีละครั้ง)

Picture*.jpgอะไรที่ไม่เป็นใช้แฟ้มตัวแปรสำหรับแต่ละรายการที่ตรงกัน จากนั้นจะใช้ไฟล์หรือโฟลเดอร์และย้ายไปยังส่วนนำหน้าด้วย "vacation"

หวังว่าจะช่วย


1
ถ้าฉันต้องการเปลี่ยนชื่อVacation-Picture4.jpgกลับเป็นPicture4.jpgอะไร กล่าวคือลบคำจากชื่อไฟล์ ขอบคุณ!
zyy

29

ไม่จำเป็นต้องใช้บรรทัดคำสั่ง ...

  1. เพิ่มภาพทั้งหมดที่จะเปลี่ยนชื่อเป็นโฟลเดอร์
  2. เลือกไฟล์ทั้งหมดคลิกขวาที่เม้าส์แล้วเลือก "Rename x items"
  3. เลือก "เพิ่มข้อความ" จากเมนูแบบเลื่อนลงเมนูแรก
  4. เลือก "Before name" จากเมนูแบบเลื่อนลงที่สอง
  5. ป้อน "Vacation_" ลงในกล่องข้อความ (ไม่มีเครื่องหมายคำพูด)
  6. กดปุ่มตกลง.

24
brew install rename

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

ก่อนอื่นคุณต้องติดตั้ง homebrew จากนั้นติดตั้งเปลี่ยนชื่อและ regex ข้างต้นเปลี่ยนชื่อไฟล์ทั้งหมดด้วย "config" ถึง "route.config"

ดังนั้นให้บอกว่าไฟล์ config.a.js และ config.b.js -> route.config.a.js, route.config.b.js


ตามbrew desc renameคำสั่ง: "เปลี่ยนชื่อ: Perl-powered สคริปต์เปลี่ยนชื่อไฟล์ที่มีในตัวที่มีประโยชน์มากมาย" brew home renameนำไปสู่คำสั่งเพื่อhttp://plasmasturm.org/code/rename/สำหรับเอกสาร ฯลฯ
kjones

4

ในขณะที่ไม่ใช่โซลูชันเทอร์มินัลฉันชอบรถยกเพื่อจุดประสงค์นี้ (และสำหรับคนอื่น ๆ ) จากเว็บไซต์ของพวกเขา:

คำอธิบายคุณสมบัติการเปลี่ยนชื่อหลายอย่างของรถยก


ใช่แน่นอนว่ามีโซลูชันที่ใช้เทอร์มินัล ฉันพบสิ่งนี้บน Google อันยิ่งใหญ่;) manytricks.com/namemangler
YeppThat'sMe

คุณอาจโพสต์ NameMangler เป็นคำตอบเพิ่มเติมเนื่องจากนี่เป็นคำถามที่แนะนำ :)
Dan J

หากต้องการเปลี่ยนชื่อไฟล์หลาย ๆ ไฟล์ (แบบเรียกซ้ำ) ด้วย Forklift .. เพียงแค่เลือกไฟล์ทั้งหมดจากนั้นใช้ไดเรกทอรีทั้งหมดด้วย CMD + ขวา .. จนกว่าคุณจะครอบคลุมพวกเขาทั้งหมด .. มันทำงานกับฉันได้
Maher Abuthraa


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นี้จะเปลี่ยนชื่อไฟล์ jpg ทั้งหมดใน PWD เพื่อ new_name-1.jpg, new_name-2.jpg ฯลฯ

ไชโย!


อีกทางเลือกหนึ่งคือใส่ฟังก์ชั่นใน. bashrc หรือ. zshrc ฉันใส่ไว้ใน. bash_profile และใช้งานได้ดี!
Elena

1

หลังจากดาวน์โหลดเปลี่ยนชื่อ

brew install rename

เรียกใช้คำสั่งต่อไปนี้

rename -n -A Vacation- *

-A: prepend

-n: แสดงวิธีการเปลี่ยนชื่อไฟล์ แต่ไม่ได้ทำอะไรเลย

ดังนั้นคุณควรลบแฟล็ก -n หลังจากดูผลลัพธ์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.