Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Массовое переименование файлов

Ответить
Настройки темы
CMD/BAT - Массовое переименование файлов

Новый участник


Сообщения: 16
Благодарности: 2

Профиль | Отправить PM | Цитировать


Добрый день
Интересует решение в виде cmd в переименовании кучи файлов

из
IMG_20240516_173620_676.jpg
Screenshot_2024-05-16-17-22-51-347_com.android.chrome.jpg
20240310_205017.jpg

в такой формат
2024-05-05 10-00-00.jpg

Отправлено: 19:50, 16-05-2024

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6522
Благодарности: 1479

Профиль | Отправить PM | Цитировать


Powershell
Код: Выделить весь код
$dir = "C:\temp\in"

$files = dir $dir
foreach ($f in $files) {
    $n = ($f.BaseName -replace '\D').Substring(0,14)
    $newName = "$($n.Substring(0,4))-$($n.Substring(4,2))-$($n.Substring(6,2)) $($n.Substring(8,2))-$($n.Substring(10,2))-$($n.Substring(12,2))$($f.extension)"
    $f |Rename-Item -NewName $newName
}

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:41, 17-05-2024 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1177
Благодарности: 491

Профиль | Отправить PM | Цитировать


DJ Mogarych, только тут проще переводить всё в дату-время и форматировать выход, чем сабстринить посимвольно
Код: Выделить весь код
...
     $n = [datetime]::parseexact(($f.BaseName -replace '\D').Substring(0,14),'yyyyMMddHHmmss',$null)
     $newName = get-date($n) -f 'yyyy-MM-dd HH-mm-ss'
...

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:19, 18-05-2024 | #3


Ветеран


Contributor


Сообщения: 2715
Благодарности: 1688

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off &Cls &>nul Chcp 1251
	Set "BoxIn=Z:\Soft_Arc"
	Set "Mask=*.*"
	Set "Reg=20[0-9][0-9]-*[0-2][0-9]-*[0-3][0-9]-*_*[0-2][0-9]-*[0-5][0-9]-*[0-5][0-9]"

	Pushd "%BoxIn%"||(Echo Folder "%BoxIn%\" not found &Pause &Exit /B 2)
		For /F "usebackq delims=" %%f In (`2^>nul Dir "%Mask%" /B /A:-D ^|Findstr /R /C:"%Reg%"`) Do Call :MyRen "%%f"
	Popd
Pause
Exit /B

:MyRen
	Set "Name=%~1"
	Echo %Name%|>nul FindStr /R /C:"^20[0-9][0-9]"||Set "Name=%Name:*_=%"
	Set "Name=%Name:_=%"
	Set "Name=%Name:-=%"
	Ren %1 "%Name:~0,4%-%Name:~4,2%-%Name:~6,2% %Name:~8,2%-%Name:~10,2%-%Name:~12,2%%~x1" 
Exit /B

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:50, 18-05-2024 | #4


Новый участник


Сообщения: 16
Благодарности: 2

Профиль | Отправить PM | Цитировать


Спасибо

Отправлено: 16:28, 19-05-2024 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Массовое переименование файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Массовое переименование путей с заменой более старых файлов Shulzzz Скриптовые языки администрирования Windows 3 22-07-2022 14:44
VBS/WSH/JS - Массовое переименование файлов со счётчиком. serg515 Скриптовые языки администрирования Windows 12 25-10-2020 22:22
[решено] Массовое перемещение файлов из списка files.txt ANIMka Хочу все знать 7 19-12-2018 05:13
CMD/BAT - [решено] Массовое переименование, отнимая слова от текущего имени ArchyA Скриптовые языки администрирования Windows 8 19-07-2018 18:59
CMD/BAT - [решено] AD массовое переименование пользователей toperx Скриптовые языки администрирования Windows 9 24-07-2009 12:46




 
Переход