CMD/BAT - [решено] Групповое переименование файлов по маске
-
a_sheludko
CMD/BAT - [решено] Групповое переименование файлов по маске
Доброго времени суток! В написании командных скриптов только разбираюсь. Помогите, пожалуйста, реализовать задачу. Необходимо перемещать файлы картинок из одной папки в другую с переименованием их по маске (001, 002, 003, ...), если файл уже существует, должен добавляться следующий номер. Спасибо заранее всем откликнувшимся за ответ.
-
megaloman
Re: CMD/BAT - [решено] Групповое переименование файлов по маске
a_sheludko, Не понятно, что Вы имеете ввиду под маской. Приведите несколько примеров как было имя файла и как должно быть.
-
megaloman
Re: CMD/BAT - [решено] Групповое переименование файлов по маске
megaloman, то есть есть папка №1 с картинками, и их нужно копировать в папку №2 с именами 001.jpg, 002.jpg и так далее
-
megaloman
Re: CMD/BAT - [решено] Групповое переименование файлов по маске
megaloman, то есть есть папка №1 с картинками, и их нужно копировать в папку №2 с именами 001.jpg, 002.jpg и так далее
-
a_sheludko
Re: CMD/BAT - [решено] Групповое переименование файлов по маске
Код:
если именно перемещать copy поменяйте на move
Цитата Iska:
что делать, если файлов окажется более 999?
это остается под вопросом.
Код: Выделить всё
@echo off
set "d_in=papka_in"
set "d_out=papka_out"
for /f "delims=" %%a in ('dir/a-d/b "%d_in%\*.jpg"') do set/a n+=1& set "m=00!n!"& copy "%d_in%\%%~nxa" "%d_out%\!m:~-3!%%~xa"
pause>nulесли именно перемещать copy поменяйте на move
Цитата Iska:
что делать, если файлов окажется более 999?
CMD/BAT - [решено] Групповое переименование файлов по маске
это остается под вопросом.
-
alpap
Re: CMD/BAT - [решено] Групповое переименование файлов по маске
Указал как входящий каталог papka_in с файлами *.jpg, но почему-то ошибка "Синтаксическая ошибка в имени файла, имени папки или метке тома". В чем может быть дело? Вроде все правильно. Возможно, что то "не вижу", не так делаю.
-
a_sheludko
Re: CMD/BAT - [решено] Групповое переименование файлов по маске
Цитата a_sheludko:
Указал как входящий каталог papka_in с файлами *.jpg,
Покажите эту строку, как именно указали, в точности до буквы.
Указал как входящий каталог papka_in с файлами *.jpg,
CMD/BAT - [решено] Групповое переименование файлов по маске
Покажите эту строку, как именно указали, в точности до буквы.
-
a_sheludko
Re: CMD/BAT - [решено] Групповое переименование файлов по маске
Цитата a_sheludko:
...если файл уже существует, должен добавляться следующий номер.
Цитата a_sheludko:
Необходимо перемещать файлы...
Код:
Файлы с восклицательными знаками в имени тоже будут перемещаться и переименовываться
.
...если файл уже существует, должен добавляться следующий номер.
CMD/BAT - [решено] Групповое переименование файлов по маске
Цитата a_sheludko:
Необходимо перемещать файлы...
CMD/BAT - [решено] Групповое переименование файлов по маске
Код:
Код: Выделить всё
@echo off
setlocal
set "source=C:\Images\1"
set "destination=C:\Images\2"
if not exist "%source%\" exit /b 1
if not exist "%destination%\" exit /b 2
for /f "delims=" %%i in ('2^>nul dir /a-d /b /on "%source%\*.jpg"') do (
set /a i+=1
for /f %%j in ('set /a i') do (
set "j=00%%j"
cmd /v /c^
for /l %%k in (^) do @^
if not exist "%destination%\!j:~-3!%%~xi" (^
move "%source%\%%i" "%destination%\!j:~-3!%%~xi"^&^
exit /b !i!^
^) else^
^>nul set /a i+=1^&^
set "j=00!i!"
call set i=%%errorlevel%%
)
)
endlocal
exit /b 0Файлы с восклицательными знаками в имени тоже будут перемещаться и переименовываться
.-
Georgio
Re: CMD/BAT - [решено] Групповое переименование файлов по маске
Georgio, спасибо. Работает. Признателен за помощь.
-
a_sheludko
Re: CMD/BAT - [решено] Групповое переименование файлов по маске
Georgio, спасибо. Работает. Признателен за помощь.