首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >coldfusion 8和2016: CFEXECUTE未返回结果/错误

coldfusion 8和2016: CFEXECUTE未返回结果/错误
EN

Stack Overflow用户
提问于 2018-08-09 10:25:36
回答 2查看 600关注 0票数 1

我在浏览器里看到的只是一个空白屏幕。如果我不使用IsDefined,我会在页面中得到一个错误,声明变量不存在。

如果我拼写错了一个命令(例如:使用/bin/bsh而不是/bin/bash),我会得到一个异常,指出CF找不到程序。因此,它似乎起作用了。我只是想看看它是否真的在运行。

下面是我的代码:

代码语言:javascript
复制
------
<cfexecute name="/bin/ls" arguments=" -la /" errorVariable="error" variable="result"></cfexecute>
<cfif IsDefined("result")>
    <cfdump var="#result#">
</cfif>
<cfif IsDefined("error")>
    <cfdump var="#error#">
</cfif>

<cfexecute name="/bin/bash" arguments=" -c '/bin/ls -la /'" errorVariable="error" variable="result"></cfexecute>
<cfif IsDefined("result")>
    <cfdump var="#result#">
</cfif>
<cfif IsDefined("error")>
    <cfdump var="#error#">
</cfif>
EN

回答 2

Stack Overflow用户

发布于 2018-08-10 01:56:14

您需要在cfexecute上指定一个timeout,以便按顺序获得有效的结果/错误。

默认的timeout0,它是非阻塞的,这意味着您的命令是异步执行的。这意味着你不会立即得到结果。

我不确定,对于Adobe来说,“非阻塞”是指完全忽略variableerror属性,还是最终设置它们。如果你很好奇,你可以抛出一个cfsleep来找出答案,只是请不要在生产环境中使用。:)

票数 2
EN

Stack Overflow用户

发布于 2018-08-09 13:47:08

您必须指定应用程序到execute.On窗口的绝对路径,指定一个扩展名,例如C:\myapp.exe.

我已经使用cfexecute运行了我的sqlCMD,这里我已经传递了MS sql服务器的绝对路径。

代码语言:javascript
复制
<cfexecute name="C:\Program Files\Microsoft SQL Server2016\Client SDK\ODBC\130\Tools\Binn\SQLCMD.EXE" arguments=" -S localhost -U sa -P sqlPwd@12## -i" timeout="0" errorFile="#logsDir#/#TableSqls.name#_error.txt">

</cfexecute>

我希望它能帮助你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51757971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档