我有一个保存在共享驱动器(S:
)中的批处理文件,我正在尝试使用vbscripts createobject方法创建一个shell脚本来运行我的批处理文件。我目前的vbscript是:
<script language="VBScript">
Sub zeprint()
Dim oShell
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.CurrentDirectory = "s:"
oShell.Run "s:\batprint.bat"
Set oShell = Nothing
End Sub
</script>
然后在我的一些HTML中,我创建了一个按钮并设置onclick="zeprint()"
。
我知道按钮有效,因为我使用它来分配给window.print();
。
我一直在寻找答案,但似乎无法弄清楚为什么它不起作用。从命令提示符手动运行时,批处理文件也可以正确运行。这让我相信它是vbscript的一个问题。
任何帮助都将不胜感激。
答案 0 :(得分:0)
这对我有用:
Set oShell = WScript.CreateObject("WSCript.shell")
oShell.run "c:\test.bat"
或使用
oShell.run "test.bat"
如果VBS和BAT位于同一位置。
无法找到.bat文件的位置时失败。
答案 1 :(得分:0)
您需要使用目的地的绝对路径而不是驱动器号。 还要确保路径目标所在的设备没有窗口配置,以便在几分钟后节能和磁盘关闭。
答案 2 :(得分:0)
请参见下文-将“ CALC”更改为“ C:\ Batchfile.bat”,等等:
Set oShell = WScript.CreateObject("WSCript.shell")
a=msgbox("Run Calculator?" , vbYesNo + vbQuestion , "Run Calc?")
if a = vbyes then
oShell.run "CALC"
else
end if