是否可以从浏览器运行VBScript文件(.vbs)?

时间:2012-12-26 18:24:34

标签: internet-explorer vbscript

我有10个.vbs文件并将它们合并到一个.vbs文件中,即Main.vbs.Now如果我双击main.vbs,我的脚本开始运行。但我正在寻找可以从网络浏览器运行.vbs文件?因此,没有人需要进入Main.vbs保存的目录并双击它。

My 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

3 个答案:

答案 0 :(得分: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,alwyas在使用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>

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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