2013-04-24 26 views
3

我有一個基本的HTA,我試圖通過按鈕啓動批處理文件,但是當我嘗試啓動批處理文件時,它不運行。 當我按下按鈕時,命令提示窗口啓動但不運行腳本。如何從HTA內啓動批處理文件

下面是代碼的簡單例子:

<HTML> 
    <HEAD> 
    <TITLE>Fix</TITLE> 
    </HEAD> 
    <BODY> 
    <FORM> 
     <INPUT TYPE="Run" NAME="Button" VALUE="Click"> 

     <SCRIPT FOR="Button" EVENT="onClick" LANGUAGE="VBScript"> 
     Set WshShell = CreateObject("WScript.Shell") 
     WshShell.Run "cmd.exe '.\example.bat'" 
     </SCRIPT> 

    </FORM> 
    </BODY> 
</HTML> 

我怎樣才能從相同的工作目錄(或子目錄)作爲我的HTA啓動一個批處理文件?

謝謝

+1

您是否嘗試過僅僅調用批處理文件,而不是先調用cmd.exe? – 2013-04-24 19:53:57

+0

感謝馬特,這對我和其他建議都有效。 – Bajan 2013-04-24 21:36:28

回答

6

你在任何地方發動CMD過程時需要使用/C/K參數作爲第一個參數。

/C  Run Command and then terminate 

/K  Run Command and then return to the CMD prompt. 

嘗試:

WshShell.Run "cmd.exe '/C example.bat'" 

但這只是爲什麼您的腳本不工作,因爲不需要使用CMD的解釋,你可以直接原因運行批處理文件」的ShellExecute

+0

嗨,我試着用/ C開關,但它只是簡單地啓動了一個黑色的cmd框並關閉,但不執行腳本。 我能得到它與馬特的建議,工作只是直接調用.bat文件,如: WshShell.Run「example.bat」 感謝您的幫助! – Bajan 2013-04-24 21:00:13

+0

更新:我的道歉,這也確實工作!我之前嘗試通過UNC路徑運行它。 感謝您的支持! – Bajan 2013-04-24 21:35:31

+1

np Bajan但如果我的答案解決了您的問題,那麼請使用接受按鈕接受我的答案。問候。 – ElektroStudios 2013-04-24 23:44:46

相關問題