Я пытаюсь запустить пакетный файл из .net/С#, используя System.Diagnostics.Process. Почему-то он не выполняет команду xcopy пакетного файла.
Пример пакетного файла:
#copy test to test2 including sub directories
xcopy c:\test\ c:\test2
Код С#:
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, тогда это сработает, но, похоже, нет возможности захватить стандартный вывод.
Кто-нибудь сталкивался с такой проблемой?