Переименование нескольких файлов как "дата и время изменения" с помощью 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 или командной строке?

23
задан Mehper C. Palavuzlar
02.01.2023 15:12 Количество просмотров материала 2683
Распечатать страницу

2 ответа

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

Get-ChildItem *.jpg | Rename-Item -newname {$_.LastWriteTime.toString("dd.MM.yyyy.HH.mm") + ".jpg"}
12
отвечен Siim K 2023-01-03 23:00

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

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

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

Get-ChildItem *.jpg / ForEach-объект { $Новое_имя = $.LastWriteTime.метод toString("гггг.Мм. ДД.Чч.мм. СС.СС")+($скрипт:я++) + ".формат JPG" $Destination = Путь-Соединения-Путь $.Справочник.FullName-ChildPath $NewName Move-Item-Path $_.FullName-Назначение $Назначение-Сила }

Я нашел гггг.Мм. ДД.мм. СС.заказать СС ниже мои снимки лучше и я узнала, чем никто из моих граф изображения была снижена (случайно удалил) в папке так же. Я надеюсь, что это полезно для других "суперпользователей" (начинающих или опытных).

0
отвечен Tony Nilsson 2023-01-04 01:17

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх