2012-11-17 67 views
0

我是vbscript.I的新手,不知道它是否發生。我有一些VB腳本代碼來運行批處理文件。通過Web瀏覽器在VBScript中運行.BAT文件

我試圖通過HTML代碼來運行.BAT文件中VBScript作爲:

<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文件。文本。 但它不工作。 這是做什麼的正確方法?

更新:

現在我能夠通過更換路徑運行a.bat文件:

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

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

a.bat包含:

@echo off 
echo Hello World!>bop.txt 
+1

這樣的事情可能會在1999年的版本InternetExploder都工作過,但我有理由相信現代的瀏覽器將阻止這一點。 – Incognito

+0

@隱身 - 爲什麼這件事被現代瀏覽器阻止?它是否會導致任何安全問題?這不是一個好習慣嗎?我試圖在應用程序中實現這些內容。我應該繼續使用它還是有其他方法? – par181

+0

除非你正在處理一些我從頭腦中清理過的特殊MSIE/LDAP內容,否則這是一個糟糕的主意,而不是跨平臺的。 JavaScript可能希望您希望用於需要客戶端腳本的網站。 – Incognito

回答

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