Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

Помощь с Бат .bat файлом

Pavel Ученик (110), на голосовании 1 месяц назад
Есть файл, с расширением .html с рандомным названием, например "avtozapchasti-citroen-jumper%3f%26p%3d6" и файлов с разным таким названием около 1000. В названии этих файлов нужно удалить символы - "%3f", "%26", "%3d" и заменить их на нижнее подчеркивание "_".
Структура файлов в папке может быть такой: Папка (файлы .html), и вложенные папки (файлы .html)
Написал такой батник
chcp 1251
Set Source=C:\Users\Pablo\websites\bosch-avtoservice.ru
For %%A In ("%Source%\*.html") Do Call :_Func "%%~nxA"
GoTo :EoF
:_Func
Set FileName=%~n1
Ren "%Source%\%~1" "%FileName:%3f=_%%~x1"

Но не хватает зананий, доработать его. Помогите плз!
Голосование за лучший ответ
Алекс Куха Высший разум (389517) 1 месяц назад
SETLOCAL ENABLEDELAYEDEXPANSION
For /R %%A In (*.html) Do (
set p=%%~nxA
call :_func
echo! p! !s!
if "!p!" neq "!s!" ren "!p!" "!s!"
)
exit

:_func
SET s=!p:%%3f=_!
SET s=!s:%%26=_!
SET s=!s:%%3d=_!
exit /b
в powershell, было бы массивнее, но проще, понятнее.
Похожие вопросы