3

我有一个CFEXECUTE类似于以下的标签:

<cfexecute timeout="10" 
variable="result" 
name="#PathToExecutable" 
arguments="#myArgs#">
</cfexecute>

我遇到的问题是并非所有输出都被标签捕获。当我直接从命令行运行可执行文件时,它会一个接一个地打印出几行文本,但不是同时打印出来。我需要检查最后一行的文本输出。

但是当我使用它运行可执行文件时,CFEXECUTE它似乎捕获了第一行输出,假设该过程已经完成,然后返回运行我的 CF 脚本。

有没有其他人遇到过这种情况,如果有,有什么可能的解决方案吗?

更多信息:

下图显示了从命令行运行可执行文件时产生的输出。黄色部分是 CF 返回的所有内容。我需要的信息是绿色部分。包含标签的脚本CFEXECUTE似乎运行得非常快,并且在返回输出之前肯定没有达到完整的超时值。

CMD屏幕抓取

4

1 回答 1

1

经过大量测试后,我找到了答案。

如果要扫描的文件的路径包含空格,则它必须在cfexecute标签的 arguments 参数中用双引号括起来,例如

<cfexecute timeout="10" variable="result" name="#pathToExe#" arguments='"#pathToScan#"'></cfexecute>

如果文件路径不正确/不存在,这个特定的可执行文件似乎不会返回任何有用的错误文本,而只是返回上图中黄色突出显示的行。

于 2014-04-29T12:28:07.373 回答