
Tengo lo siguiente appcmd
para agregar una excepción a las restricciones ISAPI y CGI de IIS7. La excepción que estoy agregando debería verse así:
c:\perl\bin\perl.exe "%s" %s
Aquí está la línea de comando:
appcmd set config -section:isapiCgiRestriction "-+[path='c:\perl\bin\perl.exe \"%s\" %s', allowed='true', description='Perl CGI']"
Si ejecuto esto desde la línea de comando, lo hace correctamente; sin embargo, si ejecuto esto dentro de un .cmd
archivo por lotes, la ruta se altera y termina luciendo así:
c:\perl\bin\perl.exe "s
El problema parece surgir porque tengo que evitar las comillas alrededor del primer %s
parámetro perl.exe. Pero por qué esto debería comportarse de manera diferente en un archivo por lotes es un misterio.
¿Puede alguien explicar por qué ocurre esto?
Respuesta1
Las variables por lotes de Windows deben tener el prefijo %
, lo que las hace%%s