リモートPCとローカルPCのタイマーを同期させたかったけど
どうやってコマンド結果・出力を受け取るのか知らなかったので覚え書き
System.Diagnostics.ProcessStartInfo psi =
new System.Diagnostics.ProcessStartInfo();
psi.FileName = "C:\\WINDOWS\\system32\\net.exe";
//出力を読み取れるようにする
psi.RedirectStandardInput = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.UseShellExecute = false;
//ウィンドウを表示しないようにする
psi.CreateNoWindow = true;
//コマンドラインを指定("/c"は実行後閉じるために必要)
psi.Arguments = @" time \\SVRFILE1
/set /y";
//起動
System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
//出力を読み取る
string resultsStOut = p.StandardOutput.ReadToEnd();
string resultsError = p.StandardError.ReadToEnd();
//WaitForExitはReadToEndの後である必要がある
//(親プロセス、子プロセスでブロック防止のため)
p.WaitForExit();
if (p.ExitCode == 0)
{
Console.WriteLine("正常終了!");
//標準出力された結果を表示
Console.WriteLine(resultsStOut);
}
else
{
Console.WriteLine("異常終了!");
//エラー出力された結果を表示
Console.WriteLine(resultsError);
}
ツールももう少しだなぁと思う・・・
腰痛くなってきた・・・