从命令行我可以运行
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
,我会收到“系统无法找到指定的文件”。
有什么想法吗?
答案 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)?