4

我有 10 个 .vbs 文件并将它们合并到一个 .vbs 文件中,即 Main.vbs。现在,如果我双击 main.vbs,我的脚本开始运行。但无论如何我都在寻找可以从网络浏览器运行 .vbs 文件吗?这样就没有人需要去 Main.vbs 保存的目录并双击它。

我的 Main.VBS 内容:

Dim oShell : Set oShell = WScript.CreateObject ("WScript.Shell")
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
oShell.CurrentDirectory = FSO.GetFile(Wscript.ScriptFullName).ParentFolder
oShell.run "A.VBS", 1, True
oShell.run "B.VBS", 1, True
oShell.run "C.VBS", 1, True
oShell.run "D.VBS", 1, True
4

3 回答 3

6

是的,如果您使用 Internet Exlorer,您可以,但您必须将 IE 安全设​​置保持在较低水平才能运行它,即使这样您也可能会收到确认提示。这一切都取决于 Windows 的版本和 SP、安全更新、IE 的版本以及 IE 中的设置。

我建议再看一下为什么要以这种方式启动本地脚本。您可以轻松制作和分发启动脚本的快捷方式,而无需麻烦的设置和提示。

如果您需要一个用户界面,您可以使用内置 Vbscript,或者您可以使用 .HTA 文件而不是 .html 或 .asp 文件,这些文件的安全性问题较少。

示例:test.html

<script type="text/vbscript" src="c:\temp\test.vbs"></script>

和 test.vbs

Const ForReading = 1, ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
Set writefile = fso.OpenTextFile("c:\temp\output.txt", ForWriting, True)
writefile.write "test"
writefile.close

当我加载 test.html 时,我得到两个提示,当我确认时,我在 c:\temp 中得到 output.txt

最后这里是一个带有 .hta 文件的示例,将其保存为例如 test.hta,在使用 ActiveX 或 Vbscript 时总是使用 IE

<HTML>
<HEAD>
<SCRIPT language="VBScript">
<!--
Const ForReading = 1, ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
Set writefile = fso.OpenTextFile("c:\temp\output.txt", ForWriting, True)
writefile.write "test"
writefile.close
'-->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>

或者

<HTML>
<HEAD>
<script type="text/vbscript">
  sub test
    const runminimized = 7
    const dont_wait_for_end = false
    Set wshShell = CreateObject("WScript.Shell")
    WshShell.Run "c:\temp\test.vbs",runminimized, dont_wait_for_end
  end sub
</script>
</HEAD>
<BODY>
  these are the instructions
  <button onclick="vbscript:test" >Run the script</button>
</BODY>
</HTML>
于 2012-12-26T18:51:03.020 回答
0

您可以公开一个包含脚本文件的经典 ASP 页面,执行它们并向浏览器报告结果。

Asp 页面由 IIS 提供服务(取决于您可能需要配置 ASP 设置的版本),并且可以从任何浏览器运行。

于 2012-12-26T18:29:42.213 回答
0

对于 VBSlover 的目的,最好的方法是编写一个HTML 应用程序(不需要网络服务器的额外复杂性,没有像普通客户端 .html 脚本那样的安全问题)。当然,仅仅围绕现有的 VBScript 代码包装一些 HTML 代码将是致命的,您必须设计一个有用的 GUI 并将现有功能分发到合适的事件处理程序中。绝对不是一个可以通过在此处发布一连串问题来解决的项目-您自己的一些仔细研究是必要的起点/先决条件。

于 2012-12-26T18:54:27.063 回答