|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Переименовать файлы и поменять формат файлов |
|
CMD/BAT - Переименовать файлы и поменять формат файлов
|
Новый участник Сообщения: 1 |
Профиль | Сайт | Отправить PM | Цитировать Ребята, привет всем, помогите пожалуйста.
Есть папка, в ней находятся еще 30 папок, в этих папках примерно по 200-250 файлов (VP-BAI_20190731_224209.tsc) Необходимо что бы он поменял название, взяв из старого названия в такой формат и добавил нумерацию: VP-BAI_31.07.19.1.txt Есть код, но он не менять формат файла, и нумерацию делает в скобках: @echo off set "d0=C:\Users\Dovolin\Desktop\azaza" for /f "delims=" %%d in ('dir /ad/b/s "%d0%"') do ( pushd "%%d" for /f "tokens=1,2* delims=_" %%a in ('dir /a-d/b') do set /a n+=1& set "odt=%%b"& call :rn "%%a_%%b_%%c" "%%a" "%%n%%" "%%~xc" popd ) pause& exit :rn set "d=%odt:~6,2%"& set "M=%odt:~4,2%"& set "yy=%odt:~2,2%" ren "%~1." "%~2_%d%.%M%.%yy%(%~3)%~4" exit /b Очень прошу, выручайте братцы!!!!!!! |
|
Отправлено: 08:38, 18-08-2019 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Если тупо сплошная нумерация без учета сортировки по датам и подпапкам
@Echo Off cls Set "BoxIn=Z:\Box_In" Set "Mask=VP-BAI_20*_*.tsc" Set "NewExt=txt" Set /A N=0 FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /A:-D /S`) DO ( FOR /F "tokens=1,2 delims=_" %%c IN ("%%~nf") DO Call :MyRen "%%f" "%%c" "%%d" ) Exit /B :MyRen Set /A N+=1 Set "dd=%~3" Ren %1 "%~2_%dd:~6,2%.%dd:~4,2%.%dd:~0,4%.%N%.%NewExt%" Exit /B |
------- Последний раз редактировалось megaloman, 18-08-2019 в 11:25. Отправлено: 11:11, 18-08-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Если переименовывать так, чтобы файлы нумеровались от более старой даты к более новой сплошняком по всем папкам
@Echo Off Set "BoxIn=Z:\Box_In" Set "Mask=VP-BAI_20*_*.tsc" Set "NewExt=txt" FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /A:-D /S`) DO ( FOR /F "tokens=1,2 delims=_" %%c IN ("%%~nf") DO Set "@@%%d=%%c_%%d_*%%~xf=%%c=%%d" ) Set /A N=0 FOR /F "usebackq tokens=2,3,4 delims==" %%a IN (`2^>nul Set "@@"`) DO ( FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\%%a" /B /A:-D /S`) DO ( Call :MyRen "%%f" "%%b" "%%c" ) ) Exit /B :MyRen Set /A N+=1 Set "dd=%~3" Ren %1 "%~2_%dd:~6,2%.%dd:~4,2%.%dd:~0,4%.%N%.%NewExt%" Exit /B |
------- Отправлено: 11:51, 18-08-2019 | #3 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Вова.Неневолин@vk,
Цитата Вова.Неневолин@vk:
на другом форуме в скобках вы именно и просили, сложно было попросить там переделать? @echo off set "d0=C:\Papka" set "ext=txt" for /f "delims=" %%d in ('dir /ad/b/s "%d0%"') do ( pushd "%%d" for /f "tokens=1,2* delims=_" %%a in ('dir /a-d/b') do set /a n+=1& set "odt=%%b"& call :rn "%%a_%%b_%%c" "%%a" "%%n%%" "%ext%" popd ) pause& exit :rn set "d=%odt:~6,2%"& set "M=%odt:~4,2%"& set "yy=%odt:~2,2%" ren "%~1" "%~2_%d%.%M%.%yy%.%~3.%~4" exit /b |
|
Отправлено: 18:34, 18-08-2019 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Переименовать файлы в папке | zion87 | Скриптовые языки администрирования Windows | 4 | 05-01-2020 01:11 | |
CMD/BAT - [решено] Переименовать файлы | Alexander_88 | Скриптовые языки администрирования Windows | 4 | 05-07-2019 11:26 | |
PowerShell - Переименовать файлы XML | al-1k | Скриптовые языки администрирования Windows | 11 | 15-05-2017 19:37 | |
CMD/BAT - Переименовать и переместить файлы | vider | Скриптовые языки администрирования Windows | 7 | 12-05-2013 16:35 | |
Поменять формат текста | bona | Программное обеспечение Windows | 3 | 19-11-2007 00:35 |
|