Перейменуйте кілька файлів як "Змінені дати / час", використовуючи cmd або Powershell


9

У мене в папці сотні файлів JPG. Я хочу перейменувати кожен файл, щоб ім'я файлу було замінено на "Змінена дата / час" цього файлу, а саме DD.MM.RRRR.HH.MM.jpg. Наприклад,

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

Оскільки двокрапка (:) не може бути використана у назвах файлів, двокрапка між НН та ММ повинна бути замінена крапкою.

Я не хочу використовувати сторонній інструмент. Чи можете ви надати мені код, щоб досягти цього в Powershell або командному рядку?

Відповіді:


15

Спробуйте це в Powershell:

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

0

Сподіваюся, ви, хлопці, не проти моїх відгуків.

'Перейменувати-елемент' дав мені цю помилку: Перейменувати-Елемент: Неможливо створити файл, коли цей файл вже існує.

Тож я до цього рішення додав рішення Siim K і провів це в розділі "Windows Powershell ISE":

Get-ChildItem * .jpg | ForEach-Object {$ NewName = $ .LastWriteTime.toString ("yyyy.MM.dd.HH.mm.ss.ss") + ($ script: i ++) + ".jpg" $ Destination = Join-Path -Path $ .Directory.FullName -ChildPath $ NewName Move-Item -Path $ _. FullName -Detination $ Destination -Force}

Я виявив, що наказ "yyyy.MM.dd.mm.ss.ss" перелічив мої зображення краще, і я визнав, що жодне число моїх зображень також не було зменшено (випадково очищено) в папці. Я сподіваюся, що це корисно для інших «суперпользователей» (для початківців або досвідчених).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.