Компьютерный форум 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=350910)

NLOLegion 21-03-2022 11:24 2982065

Переименование файлов по дате и времени
 
Доброго дня! Знаю, подобных тем и вопросов поднималось множество, но подходящее решение найти не смог, если оно есть - рад буду ссылке. Из того что имеется собрать необходимый рабочий способ у меня не получается.
У меня имеется множество фото и видео различный форматов, да и вообще файлов. Надоело годами их переименовывать вручную прописывая имена каждому файлу. Их нужно переименовать в дату их НАСТОЯЩЕЕГО создания(для многих это дата изменения, возможно) с временем по формату 20190623_094328 , т.е. ггггммдд_ччммсс
Если секунды получить не возможно, то заполнять их по порядку начиная с 01 и т. п. типо 02,03 и т.д.
В идеале иметь сохраненный скрипт типа .BAT (если это возможно) на который будет переноситься папка(каталог) мышью и в этой папке будет происходить изменение всех имеющихся файлов.

Vanadiy777 21-03-2022 11:57 2982067

NLOLegion, а программа Advanced Renamer не подойдет Вам для этих задач?
Она, вроде, умеет это все делать.

NLOLegion 21-03-2022 12:26 2982069

Vanadiy777, может быть, но иметь скрипт на рабочем столе на который мышью кинуть папку будет удобнее. На этом форуме был подобный метод с формированием папок по дате - использую его активно. Теперь вот сами файлы надо переименовать. И отсутствие программы будет более удобно. При условии, что кто-то мне поможет...

megaloman 21-03-2022 15:30 2982075

Цитата:

Цитата NLOLegion
иметь скрипт на рабочем столе на который мышью кинуть папку будет удобнее »

Код:

@Echo Off
cls
        Set "Mask=*.*"

        If "%~1"=="" (Echo !!! The Folder name is missing in the bat-file Argument !!! &Pause &Exit /B 1)
        Pushd "%~1" || (Echo !!! Folder "%~1" Not Found!!! &Pause &Exit /B 2)
        Popd
       
        Set "BoxIn=%~1"
        If "%BoxIn:~-1%"=="\" Set "BoxIn=%BoxIn:~0,-1%

        FOR /F "usebackq tokens=2,3,4,5,6,7* delims=:. " %%i In (`Where /T "%BoxIn%":"%Mask%" ^|FindStr /V /R "\\20[0-9][0-9][0-1][0-9][0-3][0-9]_[0-2][0-9][0-5][0-9][0-5][0-9]_"`) DO (
                Ren "%%o" "%%k%%j%%i_%%l%%m%%n_%%~nxo"
        )
Pause
Exit /B



Время: 06:40.

Время: 06:40.
© OSzone.net 2001-