我有一个VBS脚本,当从命令行运行时运行完美,但是当我尝试通过CFEXECUTE
执行脚本时,脚本似乎没有运行(应该创建的文件没有创建)
当我运行包含CFEXECUTE
标记的页面时,我的浏览器窗口中会显示以下文字:
Microsoft(R)Windows脚本宿主版本5.8版权所有(C)Microsoft 公司。保留所有权利。
我的代码是:
<cfexecute name="C:\Windows\System32\cscript.exe" arguments="D:\path\to\script\myscript.vbs" timeout="30">
有人知道为什么它可能无法正常运行吗?
更新
如果我使用下面的代码而不是CFEXECUTE
,result
的值为0,我相信这意味着脚本运行没有错误。但是仍然没有创建应该创建的文件。
<cfset command = "C:\Windows\System32\cscript.exe D:\path\to\script\myscript.vbs">
<cfset runTime = CreateObject("java","java.lang.Runtime").getRuntime()>
<cfset process = runTime.exec(command)>
<cfset result = process.waitFor()>
<cfoutput>#result#</cfoutput>
VBS脚本:
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("D:\path\to\xls\file\containing\html.xls")
objExcel.Application.Visible = False
objExcel.Application.DisplayAlerts = False
objExcel.ActiveWorkbook.SaveAs "D:\path\to\new\xlsx\file.xlsx", 51
objExcel.ActiveWorkbook.Close
objExcel.Application.DisplayAlerts = True
objExcel.Application.Quit
WScript.Quit