0

我正在使用 ColdFusion 运行以下命令cfexecutecomposite -geometry +2+2 "C:\Inetpub\wwwroot\isubscribe_uk\diomedes\www\images\newsletter\316\resized.png" "C:\Inetpub\wwwroot\isubscribe_uk\diomedes\www\images\newsletter\templateImages\isubscribe\blank.png" "C:\Inetpub\wwwroot\isubscribe_uk\diomedes\www\images\newsletter\316\part1.png"

<cffunction name="executeWrap" returntype="string">
    <cfargument name="commandToRun" type="string" required="Yes">
    <cfargument name="cmdArg" type="string" required="Yes">

    <cfset var result = "">
    <cfexecute name="#arguments.commandToRun#" arguments="#arguments.cmdArg#"
                                variable="result" timeout="15" />
    <!--- <cfdump var="#arguments#">
    <cfdump var="#result#"> --->
    <cfreturn result>


 </cffunction>

由于某种原因,上述事情不起作用。虽然当我直接在命令提示符上运行命令时,它可以工作。

请问有什么想法吗?

4

1 回答 1

0

CFExecute 忽略被调用进程发送到标准错误的任何内容。为了能够查看是否生成了任何错误输出,请将“errorVariable”参数添加到您的 cfexecute 调用中,然后检查是否有任何内容并让您的脚本做出相应的反应。

<cfexecute name="..command to run..."
                arguments='.. your arguments...'
                variable="results"
                errorVariable="errorOuptut"
                ></cfexecute> 

<cfif len(errorOuptut)>
    <cfthrow message="#errorOuptut#" />
</cfif>

更多信息在这里: http ://www.raymondcamden.com/index.cfm/2008/4/9/ColdFusion-801-change-to-CFEXECUTE

于 2014-02-17T19:24:55.227 回答