我正在使用ColdFusion cfexecute
运行以下命令:composite -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>
出于某种原因,上述事情不起作用。虽然当我直接在命令提示符上运行命令时,它可以工作。
有什么想法吗?
答案 0 :(得分: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