Windows hàng loạt đổi tên tập tin giữa thông qua CLI?


13

Tập tin gốc

File 15 - Example.txt
File 2 - Example.txt
File 22 - Example.txt
File 3 - Example.txt
File 4 - Example.txt
File 5 - Example.txt

Sản phẩm chất lượng

File 15 - Example.txt
File 02 - Example.txt
File 22 - Example.txt
File 03 - Example.txt
File 04 - Example.txt
File 05 - Example.txt

Tập tin duy nhất có thể được đổi tên dễ dàng với ren.

ren "File 2 - Example.txt" "File 02 - Example.txt"

Có thể đổi tên hàng loạt bằng Windows renhoặc renamecông cụ không?


1
Tiện ích miễn phí tuyệt vời để thực hiện loại nhiệm vụ này dễ dàng .... massrenameutility.co.uk/Main_Intro.php
Moab

Tôi đồng ý. Tôi có thể đặt tên cho nhiều giải pháp dựa trên GUI cho vấn đề này và tự hỏi tại sao sự khăng khăng đối với CLI
Mawg nói rằng hãy khôi phục lại

@Mawg, bạn có thể tạo kịch bản với các công cụ GUI đó không?
Sabrina

Tôi có thể - sử dụng AutoIt - nhưng có lẽ sẽ khuyên bạn nên chống lại nó :-) Tôi chỉ tự hỏi liệu có yêu cầu khó khăn nào đối với CLI không, và bây giờ có vẻ như là có. Cảm ơn đã làm rõ
Mawg nói rằng phục hồi Monica

Câu trả lời:


13

Có thể đổi tên hàng loạt bằng công cụ đổi tên hoặc đổi tên của Windows không?

Có, nhưng nó đòi hỏi một tập tin hàng loạt.

kiểm tra.cmd:

@echo off
setlocal EnableDelayedExpansion
for /f "tokens=1,2,3,4" %%i in ('dir /b *Example.txt') do (
  rem pad 2nd token with leading zero
  set _num=0%%j
  set _num=!_num:~-2!
  ren "%%i %%j %%k %%l" "%%i !_num! %%k %%l"
  )
endlocal

thí dụ:

> dir *Example.txt
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test\test

03/01/2019  11:30                 0 File 15 - Example.txt
03/01/2019  11:30                 0 File 2 - Example.txt
03/01/2019  11:30                 0 File 22 - Example.txt
03/01/2019  11:30                 0 File 3 - Example.txt
03/01/2019  11:30                 0 File 4 - Example.txt
03/01/2019  11:30                 0 File 5 - Example.txt
               6 File(s)              0 bytes
               0 Dir(s)  1,075,134,230,528 bytes free

> ..\test

> dir
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test\test

03/01/2019  11:54    <DIR>          .
03/01/2019  11:54    <DIR>          ..
03/01/2019  11:30                 0 File 02 - Example.txt
03/01/2019  11:30                 0 File 03 - Example.txt
03/01/2019  11:30                 0 File 04 - Example.txt
03/01/2019  11:30                 0 File 05 - Example.txt
03/01/2019  11:30                 0 File 15 - Example.txt
03/01/2019  11:30                 0 File 22 - Example.txt
               6 File(s)              0 bytes
               2 Dir(s)  1,075,134,230,528 bytes free

Đọc thêm


17

Lớp lót PowerShell này sẽ mở rộng tất cả các số trong tên tệp thành hai vị trí .PadLeft(2,'0'):
(và để lại các số có nhiều vị trí hơn)

Get-ChildItem *[0-9]*.txt|Rename-Item -NewName {([regex]::Replace($_.BaseName,'\d+',{$args[0].Value.PadLeft(2,'0')}))+$_.Extension}

để được vào chủ đề, được gói trong một tập tin dòng / lô cmd:

Powershell -Nop -C "Get-ChildItem *[0-9]*.txt|Rename-Item -NewName {([regex]::Replace($_.BaseName,'\d+',{$args[0].Value.PadLeft(2,'0')}))+$_.Extension}"

Để được an toàn trước khi thực hiện các lệnh, hãy nối thêm

  • -Confirm hỏi trước khi đổi tên
  • -WhatIftrong đó liệt kê tất cả các đổi tên nó sẽ thực hiện mà không có tham số

ngay trước cái cuối cùng "


3

Chỉnh sửa: Tôi vừa nhận thấy câu hỏi này cụ thể là đổi tên từ dòng lệnh, vì vậy nó không trả lời trực tiếp câu hỏi ... Tôi sẽ giữ nó ngay bây giờ, hy vọng nó sẽ hữu ích cho những người khác.


Trình quản lý tệp Total Commander có một công cụ đổi tên hàng loạt tuyệt vời. Nó bao gồm nhiều tính năng, bao gồm đổi tên xem trước, mặt nạ đổi tên khác nhau, biểu thức thông thường, đổi tên tệp trong toàn bộ thư mục, và nhiều hơn nữa. Đồng thời, nó khá dễ sử dụng.

Đây là một ảnh chụp màn hình để chứng minh việc sử dụng nó:

Ví dụ tổng chỉ huy đa đổi tên

Từng bước một:

  1. Tải xuống và chạy Total Commander.
  2. Nativate vào thư mục với các tập tin để đổi tên.
  3. Đánh dấu các tập tin để đổi tên:
    • Tùy chọn 1 - Ctrl+ Ađể đánh dấu tất cả các tệp trong thư mục.
    • Tùy chọn 2 - Đánh dấu từng tệp một, sử dụng Spacephím hoặc chuột phải.
    • Tùy chọn 3 - Mở "Tìm tệp" ( Alt+ F7), nhập *.txtvào hộp "Tìm kiếm", nhấp vào "Bắt đầu tìm kiếm", nhấn "Nạp vào hộp danh sách", sau đó đánh dấu các tệp bằng Ctrl+ A. Sử dụng kỹ thuật này nếu bạn muốn đổi tên tập tin trong các thư mục bên trong.
  4. Nhấn Ctrl+ Mđể mở công cụ Đa đổi tên.
  5. Đặt các giá trị mong muốn trong hộp "Tìm kiếm" và "Thay thế bằng". Nếu sử dụng biểu thức chính quy, hãy chọn hộp RegEx.
  6. Nhấn "Bắt đầu!".

-2

ren *.bat *.txtsẽ hoạt động để đổi tên các tiện ích mở rộng trên tất cả các tệp phù hợp giữ lại phần khác của tên. Bạn có thể không lạm dụng điều này để chạy một chuỗi các renlệnh?

  • ren "File *" "File 0*"
  • ren "File 00*" "File 0*"
  • (đối phó với phần còn lại lơ lửng như File 022 - Example.txt

1
Điều này KHÔNG hữu ích, bạn đã kiểm tra lệnh của bạn sẽ làm gì chưa? 2-> 0, 22-> 02, 15-> 05.
LotPings

Không, tôi không có HĐH Windows nên đã không thử. Nhưng tôi đã nhớ trong nhiều năm rằng REN có thể làm điều này. Tôi có nghĩa là để đưa ra một đề nghị nào.
Douglas Held
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.