Переименуйте несколько файлов в "Дата и время изменения", используя cmd или Powershell

У меня есть сотни файлов 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  
...       ...

Поскольку двоеточие (:) нельзя использовать в именах файлов, двоеточие между HH и MM должно быть заменено точкой.

Я не хочу использовать сторонний инструмент. Можете ли вы предоставить мне код для достижения этого в Powershell или командной строке?

3 ответа

Решение

Попробуйте это в Powershell:

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

Я надеюсь, что вы, ребята, не против моего отзыва здесь.

"Rename-Item" дал мне эту ошибку:Rename-Item: Невозможно создать файл, когда этот файл уже существует.

Поэтому я добавил к решению Siim K следующее и запустил его в Windows PowerShell ISE:

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

Я обнаружил, что порядок 'yyyy.MM.dd.mm.ss.ss' перечисляет мои изображения лучше, и я узнал, что ни одно из моих изображений не было уменьшено (случайно удалено) также в папке. I hope this is helpful to other 'superusers' (beginner or experienced).

Все эти ответы хороши, но существует сторонняя программа под названием Advanced Renamer, которая сделает все это в любом формате, который вы захотите. Новые параметры имени. Новые варианты корпуса. Удалить варианты узора. Заменить параметры. Перенумеровать параметры. Это чрезвычайно гибко. У него даже есть опция отмены. Вы перетаскиваете файлы, которые хотите переименовать, в правую часть окна, а затем начинаете выбирать нужные параметры. Выбирая их, вы видите, как будут выглядеть изменения, прежде чем начать пакетный процесс.

Бесплатная версия не ограничена. Если вам нравится программа, вы можете купить лицензию. Зачем возиться с командной строкой, которую вы часто будете опечатывать, если вы можете увидеть предлагаемые изменения еще до того, как начнете их реализовывать?

Если вам нужно что-то более легкое, вы можете использовать UltraRenamer. У него нет неограниченных возможностей, но он по-прежнему очень полезен и показывает изменения перед выполнением процесса переименования.

Другие вопросы по тегам