Đổi tên nhiều tệp thành Ngày sửa đổi / Thời gian, sử dụng cmd hoặc Powershell


9

Tôi có hàng trăm tệp JPG trong một thư mục. Tôi muốn đổi tên từng tệp để tên tệp được thay thế bằng "Ngày / Giờ đã sửa đổi" của tệp đó, cụ thể là DD.MM.RRRR.HH.MM.jpg. Ví dụ,

Before    After  

001.jpg   11.01.2011.16.58.jpg  
002.jpg   12.01.2011.09.32.jpg  
003.jpg   14.01.2011.12.41.jpg  
...       ...

Vì dấu hai chấm (:) không thể được sử dụng trong tên tệp, dấu hai chấm giữa HH và MM phải được thay thế bằng dấu chấm.

Tôi không muốn sử dụng công cụ của bên thứ 3. Bạn có thể cung cấp cho tôi mã để đạt được điều này trong Powershell hoặc dòng lệnh không?

Câu trả lời:


15

Hãy thử điều này trong Powershell:

Get-ChildItem *.jpg | Rename-Item -newname {$_.LastWriteTime.toString("dd.MM.yyyy.HH.mm") + ".jpg"}

0

Tôi hy vọng các bạn không quan tâm đến phản hồi của tôi ở đây.

'Đổi tên-Mục' đã cho tôi lỗi này: Đổi tên-Mục: Không thể tạo tệp khi tệp đó đã tồn tại.

Vì vậy, tôi đã thêm vào giải pháp của Siim K như sau và chạy nó trong 'Windows Powershell ISE':

Get-ChildItem * .jpg | ForEach-Object {$ NewName = $ .LastWriteTime.toString ("yyyy.MM.dd.HH.mm.ss.ss") + ($ script: i ++) + ".jpg" $ Destination = Tham gia đường dẫn -Path $ .Directory.FullName -ChildPath $ NewName Move-Item -Path $ _. FullName -Destination $ Destination -Force}

Tôi đã tìm thấy thứ tự 'yyyy.MM.dd.mm.ss.ss' liệt kê hình ảnh của tôi tốt hơn và tôi nhận ra rằng không có số lượng hình ảnh nào của tôi bị giảm (vô tình bị xóa) trong thư mục. Tôi hy vọng điều này hữu ích với những 'siêu nhân' khác (người mới bắt đầu hoặc có kinh nghiệm).

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.