System.Diagnostics.Processを使用して.net/c#からバッチファイルを実行しようとしています。どういうわけか、バッチファイルのxcopyコマンドを実行しません。
サンプルバッチファイル:
#copy test to test2 including sub directories
xcopy c:\test\ c:\test2
C#コード:
public void RunMSIBatchFile(string _workingDirectory, string batchFileName)
{
var process = new Process
{
StartInfo =
{
UseShellExecute = false,
RedirectStandardOutput = true,
WorkingDirectory = _workingDirectory,
FileName = _workingDirectory + batchFileName,
CreateNoWindow = true,
RedirectStandardError = true
}
};
process.OutputDataReceived += ProcessOutputDataReceived;
process.Start();
process.BeginOutputReadLine();
process.WaitForExit(Convert.ToInt32(CommandTimeOut.TotalMilliseconds));
}
UseShellExecuteをtrueに変更すると機能しますが、標準出力をキャプチャする方法がないようです。
誰かがそのような問題に直面したことがありますか?