运行VBScript使用CFExecute抛出错误,而是通过命令行
问题描述:
我想运行一个VBScript工作正常,但CFExecute抛出一个错误运行VBScript使用CFExecute抛出错误,而是通过命令行
<cfexecute name = "C:\Windows\System32\CScript.exe"
arguments = "//NoLogo D:\Excel.vbs D:\test.xls"
variable = "data"
timeout = "100">
</cfexecute>
<cfdump var="#data#">
错误:
Error: 424 Source: Microsoft VBScript runtime error Description: Object required
但是当我运行使用VBScript CMD它工作正常
C:\Windows\System32 > cscript //nologo D:\Excel.vbs D:\test.xls
我有完整的管理访问,所以为什么我得到这个错误?
答
创建一个vbscirpt文件(.vbs)。代码内容会有你想要达到的任务。
下面的例子包含vbscript文件,刷新excel和执行vbscript的cfm。
示例VBScript文件代码: -
Set fso = CreateObject("Scripting.FileSystemObject")
Set xl = CreateObject("Excel.Application")
xl.Visible = True
For Each f In fso.GetFolder("C:\inetpub\WebSites\Upload\").Files
If LCase(fso.GetExtensionName(f.Name)) = "xlsx" Then
Set wb = xl.Workbooks.Open(f.Path)
wb.RefreshAll
wb.Save
wb.Close
End If
Next
xl.Quit
CFM示例文件代码: -
<cfexecute name = "C:\Windows\System32\cscript.exe" arguments = "C:\inetpub\WebSites\CSAT\test.vbs">
</cfexecute>
+1
好的,但我已经解决了我目前的问题。将很快添加评论 – Sks 2014-08-29 12:49:30
答
这是due to bug in the Windows 2008 server。 对于办公自动化(通过脚本和基于非窗口操作访问),我们必须添加里面
C:\Windows\System32\config\systemprofile
C:\Windows\SysWOW64\config\system32
我补充一下,发现成功的一个“桌面”文件夹中。
*您*拥有完整的管理员权限...但是ColdFusion运行的帐户是否具有这些权限? – 2014-08-29 09:51:51
@AdamCameron是的,他们有。 – Sks 2014-08-29 09:58:27
将完整的命令和参数粘贴在一个批处理文件中,并且''那个。 –
2014-08-29 10:00:11