Экранирование амперсандов в пакетных файлах Windows

Я понимаю, что вы можете избежать амперсандов в пакетные файлы с использованием символа шляпы

, например,

echo a ^& b
a & b

Но я использую команду

for /f "tokens=*" %%A IN ('DIR /B /A-D /S .acl') DO ProcessACL.cmd "%%A"

, которая находит все файлы с именем '.acl' в текущем каталоге или подкаталоге текущего каталога.

Проблема в том, что я нахожу имена путей, содержащие символ '&' (и нет, их нельзя переименовать), и мне нужен способ автоматического экранирования амперсандов и вызова второго командного файла с экранированным путем как параметр.

rem ProcessACL.cmd
echo %1
6
задан Bryan 3 November 2010 в 16:11
поделиться