2013-01-17 89 views
0

我使用C#(FtpWebRequest)中的FTP將批處理文件傳輸(上傳)到服務器。批處理文件有一些命令。我的要求是將批處理文件傳輸到服務器(我可以做到)並執行該批處理文件。上傳後在服務器端執行批處理文件:C#

如何從客戶端執行服務器上批處理文件中的命令?我可以使用Process.Start()方法或rsh?這是更好的方式,並讚賞這個例子的鏈接。

回答

2

上次我需要遠程複製並運行批處理文件,我使用了PSExec。但是,這需要遠程計算機上的管理員權限。

+0

我不希望使用任何軟件來執行我的操作。我的批處理文件上傳到Unix機器上。沒有使用像PSExec這樣的工具嗎? –

+0

就像那樣,不錯的鏈接。謝謝 – inspite

+0

無論如何,你將如何在Unix上執行一個批處理文件?只是一個隨機想法... – Joey

0

您可以運行運行批處理文件的計劃任務(比如說每五分鐘)。您可能必須執行一些清理任務,例如在運行後刪除批處理文件(因此它不會無意中再次運行)。

(如果您的批處理文件,每次都有不同的名稱...可能不得不重新考慮這個有點。)

這個好處是,它是非常簡單,它採用了非常可靠的Windows調度和不需要第三方應用程序。

-1

另一種選擇你可以使用套接字編程,當浴文件完成傳輸時,發送命令到服務器執行浴文件。我認爲這是第二選擇。

+0

你可以請示例如何用一個小例子? –

2

您可以嘗試使用SITE FTP命令來運行該文件,但這是服務器和操作系統特定的(即無法在Unix上啓動.BAT文件或在Windows服務器上啓動.sh文件,並且並非所有服務器都支持通過SITE命令執行外部命令)。

如果這沒有幫助,你將不得不在遠程端設置一些服務器(例如SSH服務器),並通過FTP上傳後使用SSH協議連接到該SSH服務器(但如果使用SSH,不需要FTP - 你可以使用基於SSH的SFTP)。

相關問題