我有 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
最佳答案
是的,如果您使用 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>
关于internet-explorer - 是否可以从浏览器运行 VBScript 文件(.vbs)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14044561/