CMD/BAT - [решено] Переименовать файлы

Ответить
Аватара пользователя
Alexander_88

CMD/BAT - [решено] Переименовать файлы

Сообщение Alexander_88 »

Здравствуйте, подскажите как можно переименовать все файлы в папке. Просто дописать в конце имени каждого файла _m

пример:

были файл start.jpg, finish.jpg

а стали start_m.jpg, finish_m.jpg

Изображение
Аватара пользователя
Alexander_88

Re: CMD/BAT - [решено] Переименовать файлы

Сообщение Alexander_88 »

Код:

Код: Выделить всё

for %i in (*.*) do @ren "%~i" "%~ni_m%~xi"
Аватара пользователя
Alexander_88

Re: CMD/BAT - [решено] Переименовать файлы

Сообщение Alexander_88 »

Спасибо, но Что - то ничего не происходит, код в бат файле, в этой же папке файлы new.jpg, после запуска появляется черное окно и сразу пропадает, пробовал pause поставить в конце, но окно все равно исчезает.
Аватара пользователя
Alexander_88

Re: CMD/BAT - [решено] Переименовать файлы

Сообщение Alexander_88 »

Вот получилось вроде



Код:

Код: Выделить всё

@echo off
set "C:\Users\Alexander\work\new script test"
set "mask=*.jpg"
set "suffix=_m"
pushd "%dir%"&& (
for /f "delims=" %%i in ('2^>nul dir/a-d/b "%mask%"') do ren "%%i" "%%~ni%suffix%%%~xi"
popd
)
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Переименовать файлы

Сообщение Iska »

Цитата Alexander_88:



но Что - то ничего не происходит, код в бат файле,
CMD/BAT - [решено] Переименовать файлы




Alexander_88, для пакетного файла в приведённом коде надо удваивать символы «%»:



Код:

Код: Выделить всё

@echo off
setlocal enableextensions enabledelayedexpansion
for %%i in (*.*) do ren "%%~i" "%%~ni_m%%~xi"
endlocal
exit /b 0

И нет нужды в отдельном подавлении эха («@») при for при использовании общего эхоподавления (@echo off).
Ответить

Вернуться в «Скриптовые языки администрирования Windows»