
Tenho o seguinte appcmd
para adicionar uma exceção às restrições ISAPI e CGI do IIS7. A exceção que estou adicionando deve ser semelhante a:
c:\perl\bin\perl.exe "%s" %s
Aqui está a linha de comando:
appcmd set config -section:isapiCgiRestriction "-+[path='c:\perl\bin\perl.exe \"%s\" %s', allowed='true', description='Perl CGI']"
Se executar isso na linha de comando, ele fará isso corretamente, no entanto, se eu executar isso dentro de um .cmd
arquivo em lote, o caminho será confuso e ficará parecido com:
c:\perl\bin\perl.exe "s
O problema parece surgir porque tenho que escapar das aspas em torno do primeiro %s
parâmetro perl.exe. Mas por que isso deveria se comportar de maneira diferente em um arquivo em lote é um pouco confuso.
Alguém pode explicar por que isso está acontecendo?
Responder1
Variáveis em lote do Windows devem ser prefixadas com um %
, tornando-as%%s