Iis Inno设置appcmd输出到文件

Iis Inno设置appcmd输出到文件,iis,inno-setup,appcmd,Iis,Inno Setup,Appcmd,我已经尝试了几个小时来执行以下Inno脚本代码 Exec('C:\Windows\System32\inetsrv\appcmd.exe', 'list site > "c:\test\temp.txt"', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) 它执行appcmd程序,其输出保存在文件中。 当从Inno脚本运行时,上述代码不会将输出流式传输到文件中。当我从命令行运行代码时,它工作正常。我还可以执行其他命令,如ipconfig,并

我已经尝试了几个小时来执行以下Inno脚本代码

Exec('C:\Windows\System32\inetsrv\appcmd.exe', 'list site > "c:\test\temp.txt"', '', SW_SHOW, ewWaitUntilTerminated, ResultCode)
它执行appcmd程序,其输出保存在文件中。 当从Inno脚本运行时,上述代码不会将输出流式传输到文件中。当我从命令行运行代码时,它工作正常。我还可以执行其他命令,如
ipconfig
,并将输出重定向到文件

我还尝试了以下代码,但没有成功

 Exec('cmd.exe', '"/c "C:\Windows\System32\inetsrv\appcmd.exe" list site > "c:\test\temp.txt"', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) 
我可以运行其他命令,如
addsite
addapppool
。我可以看到cmd窗口打开,但由于打开和关闭几乎是瞬时的,所以我无法检查窗口上的输出

Exec
的返回值为
True


我不确定到底出了什么问题,因为我在执行代码时没有收到任何错误。

基本上,如果您使用
ipconfig.exe
,您必须通过
cmd.exe
执行它。因此,执行appcmd.exe的方法与@MartinPrikryl执行appcmd.exe的方法相同,这就是我在发布本文之前查看的方法。确切地说,它应该起作用。但是我很困惑,为什么appcmd.exe不能用它,而cmd.exe却能用它。当我把代码
C:\Windows\System32\inetsrv\appcmd.exe list sites>C:\civica\test.txt
封装在一个bat文件中,并称之为批处理文件时,它似乎能工作。但这与从Inno脚本执行appcmd不是一回事吗。知道为什么吗@MartinPrikryl@MartinPrikryl此外,如果我执行其他命令,如
addsite
,那么它将成功执行该命令。我认为输出重定向不起作用。但是在你的问题中,你没有通过
cmd.exe
执行
appcmd.exe
。如果您已经尝试过,请向我们展示该代码。你问题中的代码是错误的。基本上,如果你让它使用
ipconfig.exe
,你必须通过
cmd.exe
执行它。因此,执行appcmd.exe的方法与@MartinPrikryl执行appcmd.exe的方法相同,这就是我在发布本文之前查看的方法。确切地说,它应该起作用。但是我很困惑,为什么appcmd.exe不能用它,而cmd.exe却能用它。当我把代码
C:\Windows\System32\inetsrv\appcmd.exe list sites>C:\civica\test.txt
封装在一个bat文件中,并称之为批处理文件时,它似乎能工作。但这与从Inno脚本执行appcmd不是一回事吗。知道为什么吗@MartinPrikryl@MartinPrikryl此外,如果我执行其他命令,如
addsite
,那么它将成功执行该命令。我认为输出重定向不起作用。但是在你的问题中,你没有通过
cmd.exe
执行
appcmd.exe
。如果您已经尝试过,请向我们展示该代码。你问题中的代码是错误的。