2013-03-14 149 views
1

全部,如何通過Web界面執行存儲在服務器上的.bat?

請原諒缺少示例代碼。我有一個.bat文件,它執行後臺進程,刷新我正在設計的網頁上的圖形。我可以使用調度應用程序自動運行此過程,但我想給用戶手動控制權。我想要一個網頁上的按鈕,用戶可以點擊在服務器上運行.bat文件。我在一個aspx文件中編寫html和C#。

我試過到目前爲止是:

<a href='program.bat'> Refresh </a> 

顯然,這並不工作:當我點擊「刷新」我的IE瀏覽器,選擇「運行」的文件下載到臨時文件的文件夾在我的本地驅動器上,並嘗試在那裏執行。

+0

您使用的是什麼Web服務器? IIS我認爲? – Brad 2013-03-14 18:05:43

+0

是的,我使用的是IIS。 – Aaron 2013-03-15 19:22:24

+0

直接運行進程可能有一個超級基本的CGI包裝器。否則,你可以寫一些C#來完成它,就像Nate所說的那樣。 – Brad 2013-03-15 19:30:59

回答

1

如果您希望批處理文件在服務器上運行,那麼您將不得不從C#代碼中調用它,而不是在HTML中。

有很多方法可以做到這一點。最簡單的是有一個從OnLoad調用它的aspx頁面,讓我們說update.aspx:

<script runat="server"> 
    protected override void OnLoad(EventArgs e) 
    { 
     System.Diagnostics.Process.Start(@"c:\path\to\program.bat"); 
    } 
</script> 

那麼你的HTML有一個定期<a href="update.aspx">標籤。

當然,它也可以作爲一個按鈕按回傳等。重點是它是在服務器端,在一些代碼隱藏。

+0

這讓我走上正軌,謝謝。雖然bat文件仍然沒有執行。我懷疑這可能是一個權限問題,而不是您提供的代碼的問題。 – Aaron 2013-03-15 19:23:40

+0

是的,通常在服務器上運行進程的更具挑戰性的部分是獲得正確的權限。祝你好運! – 2013-03-16 02:02:23

相關問題