Windows-Server-2008

為什麼 appcmd.exe 在批處理文件中執行時表現不同?

  • September 8, 2010

我有以下內容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

引用自:https://serverfault.com/questions/179124