
我有以下內容appcmd
來添加 IIS7 的 ISAPI 和 CGI 限制的例外。我添加的異常應該如下所示:
c:\perl\bin\perl.exe "%s" %s
這是命令列:
appcmd set config -section:isapiCgiRestriction "-+[path='c:\perl\bin\perl.exe \"%s\" %s', allowed='true', description='Perl CGI']"
如果從命令列執行此操作,它會正確執行此操作,但是如果我在.cmd
批次檔中執行此操作,路徑會被破壞並最終看起來像:
c:\perl\bin\perl.exe "s
問題似乎出現了,因為我必須轉義第一個 perl.exe 參數周圍的引號%s
。但為什麼這在批次檔中表現不同卻有點令人困惑。
誰能解釋為什麼會發生這種情況?
答案1
Windows 批次變數應以 為前綴%
,使這些變數%%s