Подскажите, как удалить файл, если в его имени присутствует спецсимвол
Конкретно: необходимо удалить из директории все файлы *.lnk, в том числе и файл !хлам.lnk
Теоретически, кроме знака восклицания может быть любой символ.
При таком варианте "проглатывается" знак восклицания и файл не удаляется.
Код:

@echo off
SetLocal enabledelayedexpansion
set "dr=%USERPROFILE%\Recent"
for /f "delims=*" %%i in ('dir /b/a-d "%dr%\*.lnk" 2^>nul') do (
set "bg=%%i"
for %%a in ("%dr%\!bg!" ) do (
echo %%a
del /f/q %%a 2>nul
)
)
pause