どのように私は別のコンピュータ上でバッチファイルを実行するためにVB.NETを使用することができますか?

StackOverflow https://stackoverflow.com/questions/893867

質問

vb.net 2008年に私は別のコンピュータ上に存在するバッチファイルを実行したいです。 そこにはエラーはありませんが、何も起こりません。 ここでは、コードは次のとおりです。

Dim pStart As New System.Diagnostics.Process
Dim startInfo As New System.Diagnostics.ProcessStartInfo(serverpath & "\file.bat")
startInfo.RedirectStandardOutput = True
startInfo.WindowStyle = ProcessWindowStyle.Hidden
startInfo.UseShellExecute = False
pStart = System.Diagnostics.Process.Start(startInfo)
pStart.WaitForExit()
pStart.Close()

他のヒント

私は実行可能ファイルとしてバッチファイルを使用してプロセスを作成しようとしたことがありません。私はいつもプログラムとしてcmd.exeのを使用しなければなりませんでした。これは、過去に私のために働いています:

Dim startInfo As New System.Diagnostics.ProcessStartInfo("cmd.exe", "/c " & serverpath & "\file.bat")

引数リストの一部として、「/ c」は、バッチファイルが完了した後に終了するcmd.exeのを指示します。

あなたがRedirectStandardOutputを使用しようとしている場合は、

、あなたは本当にRedirectStandardErrorを使いたいんし、その後もそれらのストリーム(OutputDataReceivedとErrorDataReceived)上のデータを捕捉するために、Processクラスのイベントにサブスクライブ。そうしないと、あなたのバッチスクリプトをデバッグする方法がありませんされます。

これはパーミッションの問題のように読み取ります。あなたはまだそれを除外していない場合、私はそのようにトラブルシューティングを行うだろう。
あなたは、ローカルコンピュータから同じバッチファイルを実行しようとしたことがありますか?
それはアクセス許可の問題である場合、あなたはそれを実行する前に、ローカルにファイルをコピーするのいずれか、それを解決したり、ファイルが新しいパスからバッチファイルを実行しているコンピュータとリモートコンピュータにドライブをマップすることができます。

また、私たちは本当に問題を引き起こしている可能性があり、バッチファイルに何があるか分かりません。私は、バッチファイルを投稿したり、バッチファイルを投稿することができない場合は、投稿することができ、バッチファイルを使用するのいずれか。例バッチファイルは、ファイルに現在の日付時刻を記述します。

scroll top