0

C# の FTP (FtpWebRequest) を使用してバッチ ファイルをサーバーに転送 (アップロード) します。バッチファイルにはいくつかのコマンドがあります。私の要件は、バッチ ファイルをサーバーに転送し (これは可能です)、そのバッチ ファイルを実行することです。

クライアントからサーバー上のバッチ ファイル内のコマンドを実行するにはどうすればよいですか? Process.Start() アプローチまたは rsh を使用できますか?? それを行うより良い方法と、例へのリンクをいただければ幸いです。

4

5 に答える 5

2

前回、リモートでバッチ ファイルをコピーして実行する必要があったときは、PSExecを使用しました。ただし、これにはリモート マシンの管理者権限が必要です。

于 2013-01-17T09:10:52.297 に答える
2

SITE FTP コマンドを使用してファイルを実行しようとすることはできますが、これはサーバーおよび OS 固有です (つまり、Unix で .BAT ファイルを起動したり、Windows サーバーで .sh ファイルを起動したりできません。また、すべてのサーバーが実行をサポートしているわけではありません。外部コマンドの SITE コマンドによる)。

これで問題が解決しない場合は、リモート側にいくつかのサーバー (SSH サーバーなど) をセットアップし、FTP 経由でアップロードした後、SSH プロトコルを使用してその SSH サーバーに接続する必要があります (ただし、SSH を使用する場合は、 FTP - 代わりに SSH ベースの SFTP を使用できます)。

于 2013-01-17T12:22:27.763 に答える
0

Nayan Soni For ExecuteBathFileおよびForSocketRef:http System.Diagnostics.Process.Start(FileName, Parameters); : //www.codeproject.com/Articles/10649/An-Introduction-to-Socket-Programming-in-NET- このサンプルhttp://diaryanakku.filesを使用します。 wordpress.com/2013/01/socket.jpeg(ファイル.jpegを.7zに変更)とExtract。制限をお詫び申し上げます。

于 2013-01-18T07:58:48.257 に答える
0

バッチ ファイルを実行するスケジュールされたタスク (5 分ごとなど) を実行できます。実行後にバッチ ファイルを削除するなどのクリーンアップ タスクを実行する必要がある場合があります (誤って再度実行しないようにするため)。

(バッチ ファイルの名前が毎回異なる場合は、少し考え直す必要があるかもしれません。)

これの良いところは、非常にシンプルであることです。非常に信頼性の高い Windows スケジューラを使用し、サードパーティのアプリケーションは必要ありません。

于 2013-01-17T09:11:42.703 に答える
-1

ソケットプログラミングを使用できるもう1つの選択肢は、バスファイルの転送が終了したら、サーバーにコマンドを送信してバスファイルを実行することです。これは2番目の選択肢だと思います。

于 2013-01-17T09:20:18.110 に答える