Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Массовое переименование файлов (http://forum.oszone.net/showthread.php?t=355272)

Super_Kolobok 16-05-2024 19:50 3027331

Массовое переименование файлов
 
Добрый день
Интересует решение в виде 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

DJ Mogarych 17-05-2024 10:41 3027344

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
}


YuS_2 18-05-2024 09:19 3027368

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


megaloman 18-05-2024 17:50 3027380

Код:

@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


Super_Kolobok 19-05-2024 16:28 3027403

Спасибо


Время: 22:16.

Время: 22:16.
© OSzone.net 2001-