Вот застрял на экранирование спецсимвола "!"
Ну ни как не могу справиться с ним
Задача:
Имею папку с файлами в именах которых встречается восклицательный знак.
Нужно этот восклицательный знак удалить из имени файла.
Код:
Код: Выделить всё
chcp 1251>nul
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir "%CD%\*.*" /b /l') do (
set name=%%~nxa
set name=!name:^(=!
set name=!name:^)=!
set name=!name:^%%=!
set name=!name:^!=! Вот здесь самая настоящая проблема
ren "%%a" "!name!"
)И ни чем ведь не экранируется этот знак.
Все файлы которые имеют "!" игнорируются и не переименовываются, прямо беда.