【发布时间】:2014-12-23 20:10:35
【问题描述】:
我正在尝试执行一个简单的函数,该函数将调用一个 VBScript 文件并将其同时运行到当前正在运行的脚本中。我在网上搜索并发现了一种使用 WScript.Shell 对象的技术,但是自从我的公司切换到 Windows 7 后,它似乎不像在 Windows XP 中那样工作。我希望这是我的代码的一些愚蠢问题,但它一直给我错误:
Script_Call_tester.vbs(5, 2) (null):系统找不到指定的文件。
我确实导出了我试图调用的脚本的文件路径和名称,当我将它粘贴到运行提示符时,它确实找到了脚本。
sendExports("Script_Called_tester.vbs")
function sendExports(iScript)
dim objShell
set objShell = CreateObject("WScript.Shell")
objShell.Run "\\path\" & iScript
set objShell = Nothing
wscript.echo("call worked")
wscript.sleep(3000)
end function
【问题讨论】:
-
系统找不到指定的文件。哪个文件?脚本或主机可执行文件?试试
objShell.Run """" & "\\path\" & iScript & """"或objShell.Run WScript.FullName & " \\path\" & iScript或组合... -
最可能的解释是您的混淆路径
\\path\Script_Called_tester.vbs在某处包含一个空格。 @JosefZ 的评论中的第一个示例应该会解决这个问题。如果没有更多信息,我们无法告诉您更多其他信息。 -
另一种可能性是,
\\path错误地引用了名为path的不存在的服务器的主机名或域托管资源的域名 ;如果没有更多关于真正调用该path字符串及其含义的信息,我们无法告诉您其他任何信息