我有CFEXECUTE
标签,如下所示:
<cfexecute timeout="10"
variable="result"
name="#PathToExecutable"
arguments="#myArgs#">
</cfexecute>
我遇到的问题是并非所有输出都被标记捕获。当我直接从命令行运行可执行文件时,它会一个接一个地打印出几行文本但不是同时打印出来。我需要检查最后一行的文本输出。
但是当我使用CFEXECUTE
运行可执行文件时,它似乎捕获了第一行输出,假设该过程已完成,然后返回运行我的CF脚本。
是否还有其他人遇到过这种情况?如果有,是否有任何可能的解决方案?
更多信息:
下图显示了从命令行运行可执行文件时产生的输出。黄色部分是CF返回的全部内容。我需要的信息是绿色部分。包含CFEXECUTE
标记的脚本似乎运行得非常快,并且在返回输出之前肯定没有达到完整的超时值。
答案 0 :(得分:1)
经过大量测试后,我找到了答案。
如果要扫描的文件的路径包含空格,则必须在cfexecute
标记的arguments参数中使用双引号,例如
<cfexecute timeout="10" variable="result" name="#pathToExe#" arguments='"#pathToScan#"'></cfexecute>
如果文件路径不正确/不存在,则此特定可执行文件似乎不会返回任何有用的错误文本,而只返回上图中黄色突出显示的行。