Coldfusion 使用CFEXECUTE执行批处理文件

Coldfusion 使用CFEXECUTE执行批处理文件,coldfusion,coldfusion-2018,cfexecute,Coldfusion,Coldfusion 2018,Cfexecute,我尝试使用cfexecute运行test.bat文件。它显示了一段时间后的超时错误。输出文件为空。但是,当我双击test.bat文件时,它工作正常。我的代码是 <cfexecute name="C:\Windows\System32\cmd.exe" arguments="/C C:\ColdFusion2018\cfusion\wwwroot\test.bat" timeout="60" outputfile="C:\ColdFusion2018\cfusion\wwwroot\log_

我尝试使用cfexecute运行test.bat文件。它显示了一段时间后的超时错误。输出文件为空。但是,当我双击test.bat文件时,它工作正常。我的代码是

<cfexecute name="C:\Windows\System32\cmd.exe" arguments="/C C:\ColdFusion2018\cfusion\wwwroot\test.bat" timeout="60" outputfile="C:\ColdFusion2018\cfusion\wwwroot\log_output1.txt"></cfexecute>

我们建议使用(Windows)而不是内置的CFExecute。在运行BAT文件时,我们遇到许多情况,需要在具有不同于CF服务权限的单独Windows帐户下运行它。CFX_EXEC允许我们指定特定的帐户,而CFExecute根本没有这个选项。我们还使用CFX_EXEC执行IP/DNS查找,因为它比Java快得多,尊重TTL,并且不会“永远”缓存查找结果。

我们建议使用(Windows)而不是内置的CFExecute。在运行BAT文件时,我们遇到许多情况,需要在具有不同于CF服务权限的单独Windows帐户下运行它。CFX_EXEC允许我们指定特定的帐户,而CFExecute根本没有这个选项。我们还使用CFX_EXEC执行IP/DNS查找,因为它比Java快得多,尊重TTL,并且不会“永远”缓存查找结果。

如果要使用cfexecute运行test.bat,test.bat应该是name属性的值,而不是arguments属性的值

<cfexecute name="C:\ColdFusion2018\cfusion\wwwroot\test.bat" 
timeout="60" 
arguments ="whatever applies"
outputfile="C:\ColdFusion2018\cfusion\wwwroot\log_output1.txt">
</cfexecute>

如果要使用cfexecute运行test.bat,test.bat应该是name属性的值,而不是arguments属性的值

<cfexecute name="C:\ColdFusion2018\cfusion\wwwroot\test.bat" 
timeout="60" 
arguments ="whatever applies"
outputfile="C:\ColdFusion2018\cfusion\wwwroot\log_output1.txt">
</cfexecute>

感谢您的回复


在命令行中取消“按任意键继续…”(暂停)后,批处理文件成功执行。它使CFC执行加载直到超时。这就是问题所在。

感谢您的回复


在命令行中取消“按任意键继续…”(暂停)后,批处理文件成功执行。它使CFC执行加载直到超时。这就是问题所在。

这很可能是权限问题。如果您在本地计算机上,请尝试使用“管理员”帐户而不是本地系统帐户运行ColdFusion服务。小心使用此生产环境,因为它可能会导致安全问题。@priyadharshan在cfexcute代码中添加errorFile属性。如果您有任何错误详细信息,请在此更新。@Kannan。errorFile也是空的。@Priyadharshan将超时属性值从60减少到0或1。我希望您能在outputFile或errorFile位置中看到错误详细信息。@Kannan问题不在于timeout属性。这些命令至少需要30秒才能返回输出。我发现,通过批处理文件调用的.cmd文件没有执行。我不知道为什么。我正在查看。这很可能是一个许可问题。如果您在本地计算机上,请尝试使用“管理员”帐户而不是本地系统帐户运行ColdFusion服务。小心使用此生产环境,因为它可能会导致安全问题。@priyadharshan在cfexcute代码中添加errorFile属性。如果您有任何错误详细信息,请在此更新。@Kannan。errorFile也是空的。@Priyadharshan将超时属性值从60减少到0或1。我希望您能在outputFile或errorFile位置中看到错误详细信息。@Kannan问题不在于timeout属性。这些命令至少需要30秒才能返回输出。我发现,通过批处理文件调用的.cmd文件没有执行。我不知道为什么。我现在正在查看它。它还显示相同的空白
输出文件
超时
错误。。我认为这可能是windows中的权限问题,正如@RRK所述。它还显示相同的空白
outputFile
超时
错误。。我认为这可能是windows中的权限问题,正如@RRK所说。它不是免费的。Adobe ColdFusion 2018也不是免费的。对我们来说,30美元是一笔非常小的投资,用于增加特定于帐户的特权和TTL荣誉查找。(CF也做不到。)想象一下更新DNS,但需要重启CF才能通过主机名访问新服务器。CFX_EXEC中还有许多其他功能在ColdFusion中也不可用。(注意:CFxYEXEC的好处是我们没有迁移到Luxee的原因之一,因为我们还没有登记C++ CFX标签。)它不是免费的。Adobe CaldFix2 2018也不是免费的。对我们来说,30美元是一笔非常小的投资,用于增加特定于帐户的特权和TTL荣誉查找。(CF也做不到。)想象一下更新DNS,但需要重启CF才能通过主机名访问新服务器。CFX_EXEC中还有许多其他功能在ColdFusion中也不可用。(注意:CFxYEXEC的好处是我们没有迁移到Luxee的原因之一,因为我们还没有登记C++ CFX标签。)