我是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>
在这里,我想通过单击运行按钮运行.bat文件,该按钮生成bop.txt。 但它没有用。 这样做的正确方法是什么?
更新
现在我可以通过将路径替换为:
来运行a.bat文件file:///C:/path/to/the/file/a.bat
但它没有生成文件bop.txt。
a.bat包含:
@echo off
echo Hello World!>bop.txt
答案 0 :(得分:1)
答案 1 :(得分: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>
另存为file.hta
据我所知,HTA文件的安全范围更广,因此不会被浏览器阻止。
这里有更多信息:
http://msdn.microsoft.com/en-us/library/ms536496(v=vs.85).aspx