cmd中的以下命令行(admin)提供结果即。 C:\ PHP \的php.exe:
%windir%\system32\inetsrv\appcmd.exe list config -section:system.webServer/fastCgi "/text:[arguments=''].fullPath"
现在我想使用nsExec :: ExecToStack作为
来实现它nsExec::ExecToStack "%windir%\system32\inetsrv\appcmd.exe list config -section:system.webServer/fastCgi $\"/text:[arguments=''].fullPath$\""
Pop $0
Pop $1
MessageBox MB_OK $0
MessageBox MB_OK $1
导致''错误''。我试图找出背后的原因并谷歌但它没有成功获得它的复制。 在这里,我正在寻找它背后的可能原因和可能的解决方案。请把它当作天才并抱歉任何错过,使其成为具体问题。
答案 0 :(得分:0)
试试这个
nsExec::ExecToStack ` %windir%\system32\inetsrv\appcmd.exe list config -section:system.webServer/fastCgi $\"/text:[arguments=''].fullPath$\" `
答案 1 :(得分:0)
你有引用问题。
要执行的命令及其路径必须在ExecToStack
参数中双引号,如文档中所示:
nsExec::ExecToStack [OPTIONS] '"PATH" param1 param2 paramN'
我可以看到你试图逃避最后一个参数的双引号。 NSIS支持3种不同类型的字符串引用:双引号"
,单引号'
和后引号`
,两者的处理方式完全相同(不像在Perl中单引号阻止字符串插值)
因此,您应该尝试使用另一个引用来调用您的命令:
nsExec::ExecToStack `"%windir%\system32\inetsrv\appcmd.exe" list config -section:system.webServer/fastCgi "/text:[arguments=''].fullPath"`