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 に答える