Windows-Server-2008
為什麼 appcmd.exe 在批處理文件中執行時表現不同?
我有以下內容
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
%s
問題似乎出現了,因為我必須轉義第一個perl.exe 參數周圍的引號。但是為什麼這在批處理文件中應該表現不同是一個謎。誰能解釋為什麼會這樣?
Windows 批處理變數應以 為前綴
%
,使這些%%s