0

我是 vbscript 的新手。我不知道它是否发生。我有一些 VB 脚本代码来运行批处理文件。

我正在尝试通过 HTML 代码在 vbscript中运行.bat文件,如下所示:

<HTML>
<HEAD>
<TITLE>Test Button Events</TITLE>
</HEAD>
<BODY>
<FORM NAME="Form1">
   <INPUT TYPE="Button" NAME="Button1" VALUE="Run">
   <SCRIPT FOR="Button1" EVENT="onClick" LANGUAGE="VBScript">
    Set WshShell = WScript.CreateObject("WScript.Shell")
    WshShell.Run "%comspec% /K C:\path\to\the\file\a.bat", 0
    ' 0 => hide
    MsgBox("File bop.txt successfully generated")
   </SCRIPT>
</FORM>
</BODY>
</HTML>

在这里,我想通过单击生成 bop.txt的运行按钮来运行 .bat 文件。但它不起作用。这样做的正确方法是什么?

更新:

现在我可以通过将路径替换为来运行 a.bat 文件:

file:///C:/path/to/the/file/a.bat

但它不会生成文件 bop.txt。

a.bat 包含:

@echo off
echo Hello World!>bop.txt
4

2 回答 2

1

也许这可能是开始的正确位置 - Internet 设置 > 安全 > 自定义级别 > 活动 x

您可能必须启用一些 Activex 权限。

创建对象“wscript.shell”失败

于 2012-11-17T20:09:57.027 回答
0

根据您使用它的方式,我已经成功使用 .hta 文件,例如:

<JOB ID="Test">
    <Head>
        <HTA:APPLICATION
        ID="Test"
        />

        <SCRIPT LANGUAGE="VBScript">
        Sub buttonClick
                Set WshShell = WScript.CreateObject("WScript.Shell")
            WshShell.Run "%comspec% /K C:\path\to\the\file\a.bat", 0
            ' 0 => hide
            MsgBox("File bop.txt successfully generated")
        End Sub
        </SCRIPT>

    </HEAD>
    <HTML>
        <FORM NAME="Form1">
        <INPUT TYPE="Button" NAME="Button1" VALUE="Run" ONCLICK="buttonClick">
    </HTML>
</JOB>

另存为文件.hta

据我了解,HTA 文件在安全方面具有更大的范围,因此不会被浏览器阻止。

这里有更多信息:

http://msdn.microsoft.com/en-us/library/ms536496(v=vs.85).aspx

于 2013-06-22T15:23:24.530 回答