我有一个 VBS 脚本,当从命令行运行时运行完美,但是当我尝试通过CFEXECUTE
脚本执行脚本时似乎没有运行(应该创建的文件没有创建)。
当我运行包含CFEXECUTE
标签的页面时,以下文本会出现在我的浏览器窗口中:
Microsoft (R) Windows Script Host 版本 5.8 版权所有 (C) Microsoft Corporation。版权所有。
我的代码是:
<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