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


43

ฉันต้องเปลี่ยนชื่อไฟล์เป็นกลุ่มเพื่อแก้ไขลำดับการจัดเรียงของพวกเขาดังนั้นฉันจึงต้องสามารถทำการเรียงลำดับของ "ค้นหาและแทนที่" เพื่อให้ฉันสามารถแทนที่ชิ้นส่วนของชื่อไฟล์ในเวลาเดียวกัน

ฉันควรใช้เครื่องมืออะไร ฉันชอบ GUI แต่การแนะนำเครื่องมือบรรทัดคำสั่งก็ใช้ได้เช่นกัน

คำตอบ:


54

มีน้อย แต่ฉันแนะนำgprename ติดตั้ง gprename ซึ่งเป็นการประนีประนอมระหว่างการใช้งานและการทำงานที่ดี

เครื่องมืออื่น ๆ : เปลี่ยนชื่อ, krename ติดตั้ง krename , pyrenamer ติดตั้ง pyrenamer , cuteRenamer, ...


6
pyRenamer ไม่เลวเลย
skalka

6
ฉันใช้ pyrenamer บ่อยครั้งและบางครั้ง gprename ยกเว้นว่าการเปลี่ยนแปลงทำได้ง่ายมากในบรรทัดคำสั่ง สิ่งที่ดีที่สุดเกี่ยวกับ GUI เหล่านี้คือการกระทำใน 'ตัวอย่าง' สิ่งนี้จะช่วยให้คุณปวดหัว
belacqua

4
+1 สำหรับ gprename เพียงแค่พยายามและทำเปลี่ยนชื่อที่จำเป็นใน 5 วินาที
Pisu

ความอัปยศไม่ใช่ gprename หรือ pyrename สามารถใช้รายการไฟล์เพื่อเปลี่ยนชื่อจากบรรทัดคำสั่ง
artfulrobot

gprename ยอดเยี่ยมใน 14.04 ได้ 300 โฟลเดอร์เปลี่ยนชื่อโดย regex ใน 15 วินาที
3rgo

10

ฉันชอบqmvจากrenameutilsแพ็คเกจ มันช่วยให้คุณใช้เท็กซ์เทอร์มินัล (ตามเทอร์มินัล) เพื่อเปลี่ยนชื่อไฟล์ ฉันชอบที่จะเรียกใช้ด้วย-f doซึ่งจะให้คอลัมน์เดียว (หนึ่งแถวต่อไฟล์) ด้วยชื่อไฟล์ เมื่อรวมเข้ากับพลังของ Vim ทำให้เครื่องมือทั้งหมดที่คุณต้องใช้ในการแก้ไขชื่อไฟล์ขนาดใหญ่

http://www.nongnu.org/renameutils/


7

ทำให้เปลี่ยนแปลง

https://github.com/metamorphose

อาจเป็นเรื่องยากเล็กน้อยที่จะจัดการ แต่ทรงพลังจริงๆ!


ฉันชอบอันนี้มาก มันค่อนข้างทรงพลังและรันบนแพลตฟอร์มหลักทั้งหมด
แดเนียลส์

5

ถ้าคุณชอบเปลือกและนิพจน์ปกติ Perl renameที่ผมอยากแนะนำให้ มันเรียบง่ายเหมือนชื่อ



3

หากคุณคุ้นเคยกับ Emacs ฉันคิดว่าไม่มีอะไรเต้น Dired สำหรับงานนี้ แม้ว่าคุณจะไม่ได้ใช้ Emacs บ่อยครั้งที่คุณอาจพบว่า Dired เป็นเครื่องมือที่มีประโยชน์

sudo aptitude install emacs23-nox

เริ่มโหมด Emacs Dired สำหรับไดเรกทอรี:

emacs -nw path/to/dir/

ตอนนี้เข้าสู่โหมดแก้ไขไดเรกทอรี:

C-x C-q (นั่นคือ Ctrl + x ตามด้วย Ctrl + q)

ตอนนี้คุณสามารถแก้ไขชื่อไฟล์เช่นแก้ไขข้อความในตัวแก้ไขข้อความธรรมดาทุกรายการ คุณอาจเลือกที่จะแทนที่ชื่อไฟล์โดยใช้นิพจน์ทั่วไป (โปรดทราบว่าน่าเสียดายที่ Emacs ใช้ไวยากรณ์ที่แตกต่างจาก PCRE)

ตัวอย่างเช่นในการเปลี่ยนชื่อไฟล์ด้วยตัวนับ (เริ่มต้นที่ 1):
M-x replace-regexp(นั่นคือ Alt + x ตามด้วยสตริง "replace-regexp" พิมพ์ใน minibuffer ที่ด้านล่างของหน้าจอ)
แทนที่ regexp: DSCN\([0-9]+\).JPG
แทนที่ด้วย: \,(format "P%04d.jpg" (1 + \#))

ในการใช้ตัวนับซ้ำในชื่อไฟล์:
M-x replace-regexp
replace regexp: DSCN\([0-9]+\).JPG
แทนที่ด้วย:\,(format "P%04d.jpg" (string-to-number \1))

เมื่อเสร็จแล้วให้พิมพ์:

C-c C-c (นั่นคือ Ctrl + c ตามด้วย Ctrl + c)

หรือกดลำดับต่อไปนี้เพื่อยกเลิกการเปลี่ยนแปลง:

C-c Esc (นั่นคือ Ctrl + c ตามด้วย Esc)


2

ฉันมักจะใช้mmvซึ่งเป็นบรรทัดคำสั่งและมีไวยากรณ์นิพจน์ค่อนข้างแปลก แต่มีแนวโน้มที่จะแก้ปัญหาส่วนใหญ่ของฉัน


1

ถ้าคุณใช้ Nautilus และรู้วิธีสคริปต์ Nautilus ทำงานคุณสามารถใช้หอยโข่ง-เปลี่ยนชื่อ


0

ในบรรทัดคำสั่งยังมีความเป็นไปได้ที่จะใช้เวทย์มนตร์ของ sed และ shell:

ls *.c | sed "s#\(.*\)\.c#mv \0 \1.cpp#" | sh

1
ดูเหมือนจะไม่ทำงานตามที่พิมพ์ คุณอาจใช้ '#' หรืออักขระอื่นแทน "\" เป็นตัวคั่นในตัวอย่างเพื่อความชัดเจนที่มากขึ้น เช่น `ls .c | sed 's # ([az] ) \ C # \ 1.cpp #.' `(ตัวอย่างเช่นนี้ไม่ได้จะเปลี่ยนชื่อเพียงเพื่อแสดงชื่อไฟล์ใหม่สำหรับความเรียบง่าย)
belacqua

+1 ฉันคิดว่ามันเป็นวิธีที่ดีมาก ๆ แต่ฉันอาจจะใช้-dสวิตช์lsเพื่อหลีกเลี่ยงการแสดงรายการเนื้อหาของไดเรกทอรีที่อาจลงท้ายด้วย.c(ส่วนใหญ่ไม่ใช่ปัญหา แต่ก็ยัง .. )
Levit

0

Windows มีโปรแกรมที่ดีมากสำหรับโปรแกรมนี้เรียกว่า Bulk Rename Utility นี่คือ URL: http://www.bulkrenameutility.co.uk/Main_Intro.php

มียูนิโคดรุ่น Windows 98 ที่พกพาได้ ฉันใส่มันลงในโฟลเดอร์บนระบบ Linux ของฉัน (Mint Maya) และเมื่อฉันเรียกใช้ผ่าน Wine มันทำงานได้อย่างมีเสน่ห์ gui นั้นใช้งานง่ายและยืดหยุ่นมาก


ฉันเกือบต้องการที่จะเรียกใช้ในไวน์ มันดีกว่า pyRenamer มาก
Teque5

0

สำหรับฉัน pyRenamer ทำงานได้ดีที่สุด ไม่มีสิ่งใด (เศร้า) ใกล้กับ Total Commanders ที่สร้างขึ้นเพื่อเปลี่ยนชื่อเครื่องมือ pyRenamer ไม่ได้รวมกับ Krusader แต่เมื่อพิจารณาถึงความจริงที่ว่าคุณไม่ได้ใช้เครื่องมือการเปลี่ยนชื่อซึ่งบ่อยครั้ง pyRenamer เป็นตัวเลือกที่ดีมาก


0

นี่คือเครื่องมือที่ฉันใช้: rnm ( man page ) ( ตัวอย่างเพิ่มเติม )

การใช้งานบางอย่าง:

rnm file-name -ns new-filename             # single file
rnm ./* -ns '/n//i/'                       # files will be sorted and indexed.
rnm ./* -rs '/search/new/g'                # 'search' in filenames will be replaced with 'new'
rnm ./* -ns '/fn//i/' -ss 'search'         # only files/directories which contain 'search' in their name will be indexed (renamed).
rnm ./* -ns '/fn//id/' -fo                 # file only mode, directories will be ignored.
rnm ./* -ns '/fn//id/' -fo -dp -1          # recursive to subdirectories all the way.

etc...

การเชื่อมโยงไปยังหน้าเว็บneurobin.org/projects/softwares/unix/rnmและให้ 404
Muru

@muru: อืมมีบางอย่างเกิดขึ้นกับหน้าเว็บอัปเดตเป็นลิงค์หน้าคน
Jahid

0

ส่วนตัวผมใช้Ant Renamer with Wine เพราะไม่มีอะไรที่ฉันได้ลอง (Métamorphose, PyRenamer, GPRename, KRename) มีประสิทธิภาพสูงติดตั้งง่ายและใช้งานง่าย และก็ยังเป็น FOSS ดังนั้นฉันไม่เห็นปัญหา


0

Krename เป็น KDE GUI สำหรับการเปลี่ยนชื่อไฟล์ซึ่งมักพบในโปรแกรมจัดการแพ็คเกจส่วนใหญ่

คำตอบนี้นำไปใช้กับการลบหมายเลขนำที่อาจพบในไฟล์เพลงเช่น mp3 แต่Krenameจะเปลี่ยนชื่อเป็นจำนวนมากเช่นกัน

  1. โหลดไฟล์หรือโฟลเดอร์ที่เลือก Krename โหลดไฟล์ทั้งหมดในโฟลเดอร์ที่เลือกเพียงคลิกOpenโดยไม่ต้องเลือกไฟล์ทั้งหมดทีละไฟล์

  2. ไปที่Destinationแท็บเพื่อเขียนทับหรือคัดลอกไฟล์ไปยังโฟลเดอร์อื่น

  3. ไปที่Filenameแท็บจากนั้นไปที่Advanced Filenameแท็บ

     ภาพ "ชื่อไฟล์ขั้นสูง" แสดงการตั้งค่าเริ่มต้น

  4. เริ่มต้นด้วยการลบโทเค็น$ในTemplateหน้าต่าง การเปลี่ยนแปลงจะเกิดขึ้นในRenamedหน้าต่างด้านล่าง ไม่มีชื่อไฟล์ปรากฏเฉพาะส่วนขยายไฟล์

    3. รูปแสดงให้เห็นว่าชื่อไฟล์ถูกลบทิ้งโดยนามสกุลไฟล์

  5. คลิกที่Insert Part of Filename...และเลือกส่วนต่าง ๆ ของชื่อไฟล์ที่คุณต้องการเก็บ การดำเนินการนี้จะรวมถึงไฟล์ทั้งหมดและการเปลี่ยนแปลงจะชัดเจนในRenamedหน้าต่างด้านล่าง

    4. "แทรกส่วนหนึ่งของชื่อไฟล์ ... " รูปภาพที่แสดงวิธีเลือกชื่อไฟล์โดยเน้นส่วนที่ต้องการ

  6. OKคลิก ไฟล์ถูกเปลี่ยนชื่อโดยไม่มีหมายเลขนำหน้า

    5. ผลลัพธ์สุดท้ายแสดง

  7. สุดท้ายให้คลิกFinishedที่มุมขวาล่าง


0

ยูทิลิตี้รุ่นใหม่เปลี่ยนชื่อ GUI แบทช์ที่ทำงานบนลินุกซ์ (มันยังทำงานบน Mac และ Windows) เป็นInviska เปลี่ยนชื่อ

ป้อนคำอธิบายรูปภาพที่นี่

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

คุณสมบัติอื่น ๆ รวมถึงการดูตัวอย่างชื่อไฟล์ใหม่และการยกเลิกการเปลี่ยนชื่อแบทช์ซึ่งฉันพบว่ามีประโยชน์มาก

แหล่ง

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