Cosmogor
17-06-2015, 21:15
Всем привет :)
Вот застрял на экранирование спецсимвола "!"
Ну ни как не могу справиться с ним :(
Задача:
Имею папку с файлами в именах которых встречается восклицательный знак.
Нужно этот восклицательный знак удалить из имени файла.
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!"
)
И ни чем ведь не экранируется этот знак.
Все файлы которые имеют "!" игнорируются и не переименовываются, прямо беда.
Вот застрял на экранирование спецсимвола "!"
Ну ни как не могу справиться с ним :(
Задача:
Имею папку с файлами в именах которых встречается восклицательный знак.
Нужно этот восклицательный знак удалить из имени файла.
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!"
)
И ни чем ведь не экранируется этот знак.
Все файлы которые имеют "!" игнорируются и не переименовываются, прямо беда.