Làm cách nào để đổi tên nhiều tệp cùng một lúc?


43

Tôi cần đổi tên một loạt các tệp để sửa thứ tự sắp xếp của chúng, do đó tôi cần có khả năng thực hiện một loại "tìm và thay thế" để tôi có thể thay thế các tên tệp một lần.

Tôi nên sử dụng công cụ nào? Tôi thích GUI nhưng đề xuất công cụ dòng lệnh cũng sẽ ổn.

Câu trả lời:


54

Có một vài nhưng tôi khuyên bạn nên gprename Cài đặt tên gpr là một sự thỏa hiệp tốt giữa khả năng sử dụng và chức năng.

Các công cụ khác là: đổi tên, krename Cài đặt krename , pyrenamer Cài đặt pyrenamer , cuteRenamer, ...


6
pyRenamer không tệ chút nào.
skalka

6
Tôi đã sử dụng pyrenamer thường xuyên và đôi khi gprename trừ khi thay đổi rất dễ thực hiện trên dòng lệnh. Điều tốt nhất về các GUI này là hành động 'xem trước' tích hợp. Điều này sẽ giúp bạn tiết kiệm đau đầu.
belacqua

4
+1 cho gprename, chỉ cần thử và thực hiện đổi tên cần thiết trong 5 giây
Pisu

Xấu hổ không gprename hoặc pyrename có thể lấy danh sách các tệp để đổi tên từ dòng lệnh
artfulrobot

gprename là tuyệt vời vào ngày 14.04. Đã làm 300 thư mục đổi tên bởi regex trong 15 giây
3rgo

10

Tôi thực sự thích qmv từ renameutilsgói. Nó cho phép bạn sử dụng trình soạn thảo văn bản (dựa trên thiết bị đầu cuối) yêu thích của mình để đổi tên các tệp. Tôi thích gọi nó với -f donó cung cấp cho bạn một cột duy nhất (một hàng cho mỗi tệp) với tên tệp. Kết hợp với sức mạnh của Vim, nó cung cấp cho bạn tất cả các công cụ bạn cần để thực hiện chỉnh sửa tên tệp lớn.

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



5

Nếu bạn thích shell và perl biểu thức chính quy tôi muốn giới thiệu rename. Nó đơn giản như tên của nó.



3

Nếu bạn đã quen thuộc với Emacs, tôi nghĩ không có gì vượt qua được Dired cho nhiệm vụ này. Ngay cả khi bạn không sử dụng Emac thường thì bạn vẫn có thể tìm thấy Dired một công cụ tiện dụng.

sudo aptitude install emacs23-nox

Bắt đầu chế độ Emacs Dired cho một thư mục:

emacs -nw path/to/dir/

Bây giờ vào chế độ thư mục chỉnh sửa:

C-x C-q (đó là Ctrl + x theo sau là Ctrl + q)

Bây giờ bạn có thể chỉnh sửa tên tệp như chỉnh sửa văn bản trong mọi trình soạn thảo văn bản thuần túy. Bạn thậm chí có thể chọn thay thế tên tệp bằng các biểu thức thông thường (lưu ý rằng không may Emacs sử dụng một cú pháp khác với PCRE).

Ví dụ: để đổi tên các tệp bằng bộ đếm (bắt đầu bằng 1):
M-x replace-regexp(đó là Alt + x theo sau là chuỗi "thay thế-regrec" được nhập vào bộ thu nhỏ ở cuối màn hình).
Thay thế regrec: DSCN\([0-9]+\).JPG
Thay thế bằng: \,(format "P%04d.jpg" (1 + \#))

Để sử dụng lại bộ đếm trong tên tệp:
M-x replace-regexp
Thay thế regapi: DSCN\([0-9]+\).JPG
Thay thế bằng:\,(format "P%04d.jpg" (string-to-number \1))

Khi hoàn thành, gõ:

C-c C-c (đó là Ctrl + c theo sau là Ctrl + c)

Hoặc thay vào đó, nhấn trình tự sau để hủy bỏ các thay đổi của bạn:

C-c Esc (đó là Ctrl + c theo sau là Esc)


2

Tôi có xu hướng sử dụng mmv , dựa trên dòng lệnh và có cú pháp biểu thức hơi kỳ quặc nhưng có xu hướng giải quyết hầu hết các vấn đề của tôi.



0

Trên dòng lệnh cũng có khả năng sử dụng phép thuật của sed và shell:

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

1
Điều đó dường như không hoạt động như in. Bạn cũng có thể sử dụng '#' hoặc ký tự khác thay vì "\" làm dấu phân cách trong các ví dụ để có thể rõ ràng hơn. ví dụ: `ls .c | sed 's # ([az] ) \. c # \ 1.cpp #' `(Ví dụ này không thực hiện đổi tên, chỉ để hiển thị tên tệp mới, để đơn giản)
belacqua

+1 Tôi thấy đó là một cách thực sự hay (cũng hoạt động trên tất cả các bản phát hành) mà không cần cài đặt bất cứ thứ gì. Nhưng tôi có lẽ sẽ sử dụng -dkhóa chuyển đổi lsđể tránh liệt kê nội dung của các thư mục cũng có thể kết thúc .c(hầu hết các trường hợp không phải là vấn đề, nhưng vẫn còn ..).
Levite

0

Windows có một chương trình thực sự tốt cho cái gọi là Tiện ích Đổi tên Hàng loạt. Đây là URL: http://www.bulkrenameutility.co.uk/Main_Intro.php .

Có một phiên bản Windows 98 unicode là di động. Tôi đặt nó trong một thư mục trên hệ thống Linux của tôi (Mint Maya) và khi tôi chạy nó qua Wine, nó hoạt động như một bùa mê. Gui rất dễ sử dụng và rất linh hoạt.


Tôi gần như muốn chạy cái này trong rượu vang. Nó tốt hơn nhiều so với pyRenamer.
Teque5

0

Đối với tôi, pyRenamer hoạt động tốt nhất. Không có gì (đáng buồn) đến gần với Total Commanders đã xây dựng nó đổi tên công cụ. pyRenamer không tích hợp với Krusader nhưng xem xét thực tế, rằng bạn không sử dụng các công cụ đổi tên thường xuyên, dù sao đi nữa, pyRenamer là một lựa chọn rất tốt.


0

Đây là công cụ tôi sử dụng: rnm ( trang man ) ( ví dụ khác )

Một số cách sử dụng:

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...

Liên kết trang web đi tới neurobin.org/projects/softwares/unix/rnm và đưa ra 404.
muru

@muru: hmm, một cái gì đó đã xảy ra với trang, cập nhật nó vào liên kết trang man.
Jahid

0

Cá nhân tôi sử dụng Ant Renamer với Wine vì không có gì tôi đã thử (Métamorphose, PyRenamer, GPRename, KRename) mạnh mẽ, dễ cài đặt và dễ sử dụng. Và nó vẫn FOSS vì vậy tôi không thấy vấn đề.


0

Krename là GUI KDE để đổi tên tệp, thường được tìm thấy trong hầu hết các trình quản lý gói.

Câu trả lời này áp dụng để loại bỏ các số hàng đầu có thể tìm thấy trong các tệp nhạc như mp3. Nhưng Krenameđổi tên hàng loạt là tốt.

  1. Tải các tập tin hoặc thư mục được chọn. Krename tải tất cả các tệp trong thư mục đã chọn, chỉ cần nhấp vào Openmà không phải chọn riêng tất cả các tệp.

  2. Chuyển đến Destinationtab để ghi đè hoặc sao chép tệp vào thư mục khác.

  3. Chuyển đến Filenametab, sau đó đến Advanced Filenametab.

     Hình ảnh "Tên tệp nâng cao" hiển thị các cài đặt mặc định.

  4. Bắt đầu bằng cách loại bỏ mã thông báo $trong Templatecửa sổ. Một sự thay đổi diễn ra trong Renamedcửa sổ bên dưới. Không có tên tệp xuất hiện, chỉ có phần mở rộng tập tin.

    3. Hình ảnh cho thấy tên tệp đã bị xóa, để lại phần mở rộng tệp.

  5. Nhấp vào Insert Part of Filename...và chọn các phần của tên tệp bạn muốn giữ. Thao tác này sẽ bao gồm tất cả các tệp và những thay đổi sẽ rõ ràng trong Renamedcửa sổ bên dưới.

    4. Hình ảnh "Chèn một phần tên tệp ..." cho biết cách chọn tên tệp bằng cách tô sáng các phần ưa thích.

  6. Nhấn vào đây OK. Các tập tin được đổi tên mà không có số hàng đầu.

    5. Kết quả cuối cùng cho thấy.

  7. Cuối cùng, bấm Finishedvào góc dưới bên phải.


0

Một tiện ích đổi tên hàng loạt GUI mới hơn chạy trên Linux (nó cũng hoạt động trên Mac và Windows) là Inviska Rename .

nhập mô tả hình ảnh ở đây

Bên cạnh các chức năng đổi tên thông thường như thay thế một phần văn bản bằng một số văn bản khác, chèn hoặc xóa văn bản, đổi tên phần mở rộng tệp, v.v., công cụ này có thể đổi tên thư mục, đổi tên nhạc dựa trên thẻ và đổi tên ảnh bằng thông tin Exif của chúng. Nó thậm chí có thể đổi tên hàng loạt bằng cách sử dụng các thuộc tính tệp như ngày tạo hoặc sửa đổi.

Các tính năng khác bao gồm xem trước tên tệp mới và hoàn tác đổi tên hàng loạt, điều mà tôi thấy rất hữu ích.

Nguồn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.