wshshell.run找不到文件

时间:2011-12-15 15:40:28

标签: vbscript

从命令行我可以运行

oradim.exe -delete -sid DataWare

它在我的路径中所以我可以从任何位置(我已经测试过)

失败的是

oraCMD = "oradim.exe -delete -sid DataWare"
errCMD = wshShell.exec(oraCMD)

if errCMD <> 0 Then
    msgbox "ERROR: " & errCMD
    wscript.quit
end if

在此配置中,我收到错误“对象不支持此属性或方法”。如果我使用.run而不是.exec,我会收到“系统无法找到指定的文件”。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

您的代码混合.Run(返回数字错误代码)和.Exec(返回一个对象并需要使用Set进行赋值)。如果由WSHShell启动的进程找不到oradim,那么这个进程没有获得用于测试的shell的PATH。你是怎么开始.vbs的?简单的出路:指定oradim.exe的完整路径。

第二个想法:记得引用文件规范,如果它包含空格:

oraCMD = """c:\program files\ora labora\oradim.exe"" -delete -sid DataWare"

答案 1 :(得分:1)

解决问题的方法是在命令行中调用CMD

oraCMD = "CMD /c oradim.exe -delete -sid"

答案 2 :(得分:0)

您是否尝试过errCMD = wshShell.run(oraCMD)?