|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Переименование указанного количества файлов следуя нумерации |
|
|
Любой язык - [решено] Переименование указанного количества файлов следуя нумерации
|
Ветеран Сообщения: 531 |
Профиль | Отправить PM | Цитировать
Здравствуйте. Есть ли способ переименовать заданное количество файлов в указанной папке, продолжая нумерацию и названия файлов, присутствующих в папке?
К примеру в папке 30 файлов, 10 файлов вида 0001start.avi, 0002start.wmv, 0003start.avi - 0010start.mpg, остальные 20 имеют различные названия. Я задал количество 20 файлов. Можно ли сделать так, чтобы код переименовывал файлы имеющие различные названия, продолжая нумерацию и повторяя название имеющимся, т.е. в данном примере 20 файлов должны переименоваться на 0011start.*, 0012start.*, 0013start.* - 0030start.*. Известно, что нумерация всегда четырехзначная, слова после нумерации в одной папке всегда одинаковы (но они могут быть не только "start"), расширения могут быть различные (видео файлы) Нумерация может быть не с еденицы, к примеру с 0546stop.* 0547stop.* |
|
Отправлено: 21:17, 23-08-2014 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Alexander_88,
вариант (на всякий случай) для NNNNstart
@Echo Off cls >nul Chcp 1251 Set "BoxIn=Z:\Soft_In" Set "Kword=start" rem Set "Reg=^%Kword%[0-9][0-9][0-9][0-9]\..*" Set "Reg=^[0-9][0-9][0-9][0-9]%Kword%\..*" Set /A M=4 Set "Mask=*.*" Set /A Max=2 Set /A NMax=0 rem FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%BoxIn%\%Kword%*.*" /B /O:N /A:-D ^|findstr /I /R /C:"%Reg%"`) DO ( FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%BoxIn%\*%Kword%.*" /B /O:N /A:-D ^|findstr /I /R /C:"%Reg%"`) DO ( Set "NMax=%%~na" rem Call Set "NMax=1%%NMax:~-%M%%%" Call Set "NMax=1%%NMax:~0,%M%%%" ) Set /A Num=1000000 Set /A Num=%Num%+%NMax% Set /A MMax=%Max%+%Num% Set /A MMax=%Max%+%Num% FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /O:N /A:-D ^|findstr /I /R /V /C:"%Reg%"`) DO ( Call :RenNNN "%BoxIn%" "%%a" "%Kword%" %M% %MMax% ||Exit /B 1 ) Pause Exit /B :RenNNN Set /A Num+=1 If %Num% GTR %5 Exit /B 1 Call Set "NNum=%%Num:~-%4%%" rem 2>nul Ren "%~1\%~2" "%~3%NNum%%~x2" ||GoTo :RenNNN 2>nul Ren "%~1\%~2" "%NNum%%~3%~x2" ||GoTo :RenNNN Exit /B 0 |
------- Отправлено: 11:10, 08-07-2019 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 531
|
Профиль | Отправить PM | Цитировать Спасибо, удалил красные строки, теперь все работает для NNNNstart
|
Отправлено: 01:18, 10-07-2019 | #22 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - Удаление файлов старше 5 дней кроме указанного по имени. | Joni | Скриптовые языки администрирования Windows | 6 | 11-07-2012 11:18 | |
VBS/WSH/JS - Подсчет количества ini файлов в папке | XXXp | Скриптовые языки администрирования Windows | 14 | 10-04-2012 02:06 | |
CMD/BAT - [решено] Счетчик количества файлов | Arsenik77 | Скриптовые языки администрирования Windows | 1 | 28-08-2011 11:13 | |
Удаление файлов из списка указанного в txt | blacks2 | Вебмастеру | 28 | 02-09-2009 20:09 | |
Интерфейс - [решено] Переименование большого количества файлов | 7human7 | Microsoft Windows 2000/XP | 7 | 22-11-2008 09:48 |
|