1

C#でプロセスを使用してバッチファイルを実行する方法をたくさん検索しましたが、すべて役に立ちませんでした。

バッチ ファイルの動作は次のとおりです。psexec を使用して、リモート コントロールに接続し、そこでいくつかのサービスを停止します。その後、多くのファイルを削除してから新しいファイルをコピーし、psexec を使用してコンピューターに再度接続し、サービスを開始します。

自分でバッチを実行すると、これらすべてのアクションにしばらく時間がかかります。しかし、プロセスを使用してバッチファイルを実行すると、5秒で終了し、必要なすべての出力が表示されます。何もしていないことがわかりました。正常に実行されたときに実行する必要がある出力を表示するだけです。

このコードを使用してバッチを実行しています

batch = new Process();
batch.StartInfo.FileName = batchPath;
batch.StartInfo.UseShellExecute = false;
batch.StartInfo.RedirectStandardOutput = true;
batch.StartInfo.CreateNoWindow = true;
batch.OutputDataReceived +=  new DataReceivedEventHandler(IncomingOutput);
batch.Start();
batch.BeginOutputReadLine();
batch.WaitForExit(TimeWait * 1000);
batch.CancelOutputRead();

私は何を間違っていますか?

4

0 に答える 0