|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - переименование группы файлов с запросом начального номера и перемещение |
|
CMD/BAT - переименование группы файлов с запросом начального номера и перемещение
|
Новый участник Сообщения: 10 |
Всем привет! Есть идея написать BAT-ник, который переименует все *.jpg лежащие в одной папке с ним в name_трехзначный номер.jpg. Но с запросом с какого номера начать отсчитывать, т.е. мне надо начинать переименовывать не с начального значения: name_001.jpg, а со значения например: name_048.jpg и далее он сам прибавляет единицу: name_049.jpg, name_050.jpg. А в конце переименовывания перемещает все *.jpg в папку по назначенному пути, который так же запрашивает. Вот что есть на данный момент:
Но естественно не работает как надо, пока что только переименовывает начиная с name_001.jpg и всё.. |
|
Отправлено: 15:54, 27-07-2014 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Цитата Iska:
@echo off setlocal set /p cnt="Введите начальное значение: " for /f "delims=" %%i in (' "dir /a-d/b *.jpg 2>nul" ') do ( call:rename "%%i" ) set /p p="Введите путь перемещения: " move *.jpg "%p%">nul endlocal goto:eof :rename set pref=00%cnt% ren %1 "name_%pref:~-3%.jpg" set /a cnt+=1 goto:eof Выполняется переименование файла, потом к переменной прибавляется единица ии.. передает управление в конец.. это же и так конец? куда он управление передает? |
|
Отправлено: 01:52, 29-07-2014 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать А… Тут всё интереснее. Надо ещё читать «call /?»:
Цитата:
|
|
Отправлено: 03:03, 29-07-2014 | #12 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Вот еще вопросик возник, решил сделать еще проверку введенного пути (код проверки нашел на форуме), вышло вот что: @echo off setlocal set /p cnt="Какого начальное значение: " for /f "delims=" %%i in (' "dir /a-d/b *.jpg 2>nul" ') do ( call:rename "%%i" ) :prov set /p p="Введите путь перемещения: " if exist %p% goto next goto main :next move *.jpg "%p%">nul endlocal goto:eof :rename set pref=00%cnt% ren %1 "name_%pref:~-3%.jpg" set /a cnt+=1 goto:eof :main echo Данный путь: "%p%" не найден, повторите попытку goto prov ![]() |
|
Последний раз редактировалось kozikozi, 29-07-2014 в 15:17. Причина: подрихтовал Отправлено: 03:35, 29-07-2014 | #13 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать А так же интересно стало.. что то сразу не приметил. Вот здесь:
мы создаем переменную, в ней собственно создаем список всех *.jpg файлов в папке и переходим к метке :rename передавая ей переменную i, но когда смотрим метку :rename то видим что она работает с переменной 1... так и должно быть? |
Отправлено: 15:53, 29-07-2014 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата kozikozi:
Цитата kozikozi:
|
||
Отправлено: 16:03, 29-07-2014 | #15 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Спасибо.. понятно.. А как на счет:
Цитата kozikozi:
|
|
Отправлено: 16:09, 29-07-2014 | #16 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата kozikozi:
|
|
Отправлено: 16:23, 29-07-2014 | #17 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Цитата Iska:
цифра 2 здесь что дает? |
|
Отправлено: 17:02, 29-07-2014 | #18 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата kozikozi:
Фактическим результатом является подавление появления сообщений об ошибках (отсутствующий каталог, не найдено файлов и пр.), которые таким образом не попадают ошибочно в разбор по «for /f». |
|
Отправлено: 17:41, 29-07-2014 | #19 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Цитата Iska:
![]() |
|
Отправлено: 19:31, 29-07-2014 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Переименование группы файлов, используя команды bat | SergMarkow | Скриптовые языки администрирования Windows | 0 | 20-01-2013 23:23 | |
CMD/BAT - Переименование группы файлов по дате создания | Serg2010 | Скриптовые языки администрирования Windows | 8 | 14-04-2012 00:40 | |
Переименование группы файлов по дате создания | Serg2010 | AutoIt | 1 | 10-04-2012 10:25 | |
CMD/BAT - [решено] Переименование файлов с указанием порядкового номера | shao | Скриптовые языки администрирования Windows | 38 | 28-09-2011 17:54 |
|