Đổi tên hàng loạt tệp trong Windows, để tạo tên mới liên tục


-2

Tôi cần trợ giúp đổi tên hàng loạt một số tên tệp. Tôi có xung quanh 300 thư mục. Tất cả các tệp là Word .docx và cần giữ lại các tệp Word sau khi đổi tên.

Trong mỗi thư mục tôi có từ 1 đến 20 tệp ( không bao giờ hơn 26). Tôi cần đưa chúng theo một số thứ tự (lý tưởng là chữ cái theo tên hiện tại của chúng) và đổi tên chúng theo mô hình này:

Example A.docx
Example B.docx
Example C.docx
    etc. 

Tôi không thể sử dụng phần mềm bên ngoài, chỉ là thiết bị đầu cuối.


Câu hỏi của bạn không rõ ràng. Bạn muốn đi qua từng thư mục, và sau đó, đối với tệp đầu tiên, đặt tên cho nó Example A, tập tin thứ hai Example Bv.v. Thứ tự nào nên được áp dụng? Điều gì sẽ xảy ra nếu có hơn 26 tệp? Bạn đã thử những gì? Bạn bị kẹt ở đâu?
slhck

Bạn đã xem xét việc sử dụng lệnh forfiles trong dòng lệnh chưa?
Trenly

1
Nghiên cứu trên " lệnh đường ống thông qua một FOR /F vòng lặp ". Bạn sẽ muốn sử dụng DIR /S /B lệnh có thể và đừng quên sử dụng "TOKENS=*" hoặc có thể "DELIMS=" để loại bỏ không gian như một bộ giới hạn cho đầu ra lệnh hoặc bất cứ điều gì. ví dụ nhanh for /f "tokens=*" %a in ('dir /s /b "<folderPath>"') do echo "%~a" sử dụng REN chỉ huy phù hợp và nghiên cứu " sử dụng vòng lặp "thay thế biến" "quá. Suy nghĩ nhanh điểm bắt đầu ....
Pimp Juice IT

@slhck Thật vậy, tệp đầu tiên sẽ là Ví dụ A, tệp thứ hai - Ví dụ B, v.v. Không bao giờ có nhiều tập tin hơn các chữ cái trong bảng chữ cái. Vì vậy, tôi có khoảng 300 thư mục và việc đổi tên mọi thứ bằng tay đã trở nên ác mộng. Tôi đã thử đổi tên hàng loạt Windows tích hợp nhưng nó cung cấp cho họ số + bản sao trong tên tệp, không phù hợp với tôi. Hầu hết các lời khuyên không áp dụng cho tôi, vì tôi cần một khoảng trắng (và không gạch dưới_) giữa "Mẫu" và thư. Không giúp đỡ à?
Densetsu

1
(Tiếp theo) Nhiều (2) Bạn nói rằng tôi đã sử dụng một gợi ý từ các bình luận bên dưới; vấn đề duy nhất là máy tính không nhận dạng được định dạng của các tệp. lu (2a) Bạn nên Nói những gì bạn đã cố gắng Sao chép tập lệnh vào câu hỏi của bạn (tất nhiên là cung cấp tín dụng cho nguồn). (2b) Tôi cho rằng bạn nói về harrymc từ trả lời . robinCTS đã đăng một bình luận anhourago giải thích làm thế nào để giải quyết điều đó. Bạn đã thử chưa? Chuyện gì đã xảy ra?
Scott

Câu trả lời:


0

Đây là tập lệnh PowerShell thực hiện những gì bạn yêu cầu:

$letters = [char[]]([char]'A'..[char]'Z')
$directoryName = $null
$count = 0
Get-ChildItem -Path "your folder path" -File -Recurse | 
  ForEach-Object {
    if ($directoryName -eq $null -or $directoryName -ne $_.DirectoryName) {
      $directoryName = $_.DirectoryName
      $count = 0
  }
  $newname = "Example " + $letters[$count++] + ".docx"
  Rename-Item $_.fullname $newname
}

Hãy sao lưu trước.


Cảm ơn bạn! Tôi đã chạy tập lệnh nhưng nó không thay đổi bất kỳ tên nào. Tên của thư mục là "AsReceured". Có phần nào trong đoạn script bạn chia sẻ mà tôi cần sửa đổi bất kỳ thư mục / đường dẫn cụ thể nào không?
Densetsu

Vâng, phần được ẩn giấu khéo léo như "your folder path".
harrymc

Thật tuyệt vời, bây giờ nó thực sự hoạt động. Câu hỏi cuối cùng - các tệp tôi đang đổi tên có định dạng Word nhưng sau khi đổi tên, hệ thống không nhận ra chúng nữa. Bất kỳ phương thuốc cho điều này?
Densetsu

@Densetsu Bạn cần thêm .doc mở rộng, tức là $newname = "Example " + $letters[$count++] + ".doc".
robinCTS

Chính xác. Có phải tất cả các tập tin .doc hoặc là .docx? Hoặc cả hai loại có thể được trộn lẫn?
harrymc
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.