Cách dễ dàng để đổi tên tất cả các tệp trong một thư mục trong Windows [đã đóng]


9

Có một cách dễ dàng để đổi tên tất cả các tập tin trong một thư mục? PowerShell có phải là con đường để đi?

Tôi muốn đi từ đây:

c:\family_pics\
   img123.jpg
   img124.jpg

đến đây:

c:\family_pics\ 
   family_pics_1.jpg 
   family_pics_2.jpg

Lý tưởng nhất, tôi muốn chạy một tập lệnh trên một thư mục sẽ đổi tên tất cả các tệp dựa trên tên của thư mục hiện tại trong khi bảo tồn phần mở rộng và sẽ đi theo cách đệ quy cây thư mục.

Câu trả lời:


16

Trên cơ sở mọi thứ có thể được thực hiện trong một dòng PowerShell (giống như mọi thứ cũng có thể được thực hiện trong 1 dòng Perl), đây là mã PS cho một thư mục.

$i=0; get-childitem $dirname | foreach-object {

       rename-item "$dirname\$_" $("{0}_{1}{2}" -f $dirname, ++$i, $_.Extension)
}

Để làm điều đó một cách đệ quy, bạn sẽ bọc phần trên trong một hàm và sau đó gọi nó trên mọi thư mục trong cây của bạn. Bạn cũng có thể thay thế chuỗi định dạng bằng một cái gì đó tinh vi hơn một chút nếu bạn cần sử dụng biểu thức chính quy.


10

Đây là một chút hack, nhưng tôi đã làm điều này trong 12 năm và tôi khá nhanh về nó:

  • Mở một dấu nhắc lệnh trong c: \ family_pics và gõ dir >> dir.xls
  • Mở tệp dir.xls trong Excel
  • Đánh dấu cột đầu tiên, chọn "Chuyển văn bản thành cột" và thêm ngắt cột trên các ký tự khoảng trắng (bỏ qua các bản sao)
  • Bây giờ bạn có một bảng đẹp với tên tệp hiện tại, kích thước tệp, v.v.
  • Thêm một cột mới "ren" trước tên tệp
  • Thêm một cột mới sau tên tệp và sử dụng bất kỳ hàm Excel nào bạn muốn để tạo tên tệp mới. Trong trường hợp của bạn, nếu bạn nhập hai tên tệp đầu tiên và sau đó bấm đúp vào góc dưới cùng bên phải của ô, Excel sẽ tự động phát hiện mẫu và tạo các tên còn lại.
  • Lưu thành ren.bat
  • Chạy tệp bó bạn vừa tạo và nó sẽ đổi tên tất cả các thư mục của bạn

Mặc dù có thể không rõ ràng ngay lập tức, nhưng Excel rất phù hợp với loại nhiệm vụ này, bởi vì bạn có thể sử dụng bất kỳ loại công thức nào bạn muốn để tạo tệp mới, sử dụng đầu vào từ các tệp hiện có (dấu thời gian, tên tệp, kích thước, v.v. ).


Excel là trình tạo mã / tập lệnh tốt nhất mà tôi biết.
GvS

3

Mặc dù bạn có thể thực hiện công cụ với một tệp bó mà tôi thấy rằng có nhiều quyền kiểm soát hơn, tùy chọn, v.v. và manh mối trực quan về những gì sắp diễn ra sẽ tốt hơn.

Có một công cụ miễn phí có tên là CKRename. Trang web của tác giả ban đầu dường như đã không hoạt động nhưng ứng dụng này có đầy đủ chức năng và khá phổ biến (tôi đã sử dụng nó được 8 năm). Tải xuống CKRename

Đây là một ảnh chụp màn hình của nó trong hành động nhập mô tả hình ảnh ở đây


1

Bạn chỉ có thể làm nổi bật tất cả những gì bạn muốn trong explorer sau đó nhấp chuột phải vào cái đầu tiên và đổi tên nó và cửa sổ sau đó sẽ đổi tên tất cả chúng cho bạn với cùng một quy ước đặt tên.


Chỉ cần thử nó bắt đầu với fileA.m, fileB.m vv istead của fileA_001.m, fileB_002.m, thay vì nhận được fileA_001.m, fileA_001 (1) .m, fileA_001 (2) .m vv
jacobsee

1

ReNamer: http://www.den4b.com/

Xem thêm: Làm cách nào để đổi tên một phần của tên tệp từ một lựa chọn tệp trong Windows?

Thả thư mục của bạn với hình ảnh vào ReNamer (các thư mục con sẽ được thêm đệ quy theo mặc định). Nhấp vào cột Tên để sắp xếp theo tên tệp nếu bạn muốn duy trì thứ tự tuần tự. Thẻ meta đặc biệt sẽ cho phép bạn sử dụng tên thư mục mẹ để đổi tên. Sử dụng các quy tắc đổi tên sau đây:

  1. Xóa từ Vị trí 1 cho đến khi Kết thúc (bỏ qua tiện ích mở rộng)
  2. Chèn ": File_FolderName: _" làm Tiền tố (bỏ qua phần mở rộng)
  3. Nối tiếp Tăng dần từ 1 bước 1 lặp lại 1 dưới dạng Suffix (bỏ qua phần mở rộng)

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


Đổi tên +1 thật tuyệt vời!
Chris Marisic


0

Tải xuống RenameFiles (phần mềm miễn phí). Đây là một trong những chương trình duy nhất tôi thực sự nhớ từ khi tôi chuyển từ Windows sang Apple.

Có vẻ như nó có sẵn ở đây http://it-falke.com/software/renamefiles/us_description.php nhưng tôi không có PC để kiểm tra liên kết đó. Phiên bản cuối cùng tôi sử dụng là 2.1.4. Nó thực sự đơn giản nhưng đa năng.


0

điều này loại bỏ bốn ký tự cuối cùng (thường là phần mở rộng)

dir *.jpg | % { ren $_.Name $_.Name.Substring(0,$_.Name.Length-4) }

Bạn có thể cần điều chỉnh các cách trên để xử lý các khoảng trắng hoặc các yêu cầu đổi tên cụ thể của bạ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.