Моя команда:
c:\temp\abc.exe c:\temp\abc.ini >> c:\temp\log.log
Это прекрасно работает при запуске из командной строки.
Но из VB.NET это не работает (файл журнала создан, но пуст, файл журнала должен содержать процессы журнала abc.exe, также не был выполнен файл abc.exe).
Dim p as Process = new Process()
Dim pi as ProcessStartInfo = new ProcessStartInfo()
pi.Arguments = "/C c:\temp\abc.exe c:\temp\abc.ini >> c:\temp\log.log "
pi.FileName = "cmd.exe"
p.StartInfo = pi
p.Start()
p.WaitForExit()
Почему?
Обновление: в ожидании объяснения, это мой обходной путь.
Dim p as Process = new Process()
Dim pi as ProcessStartInfo = new ProcessStartInfo()
pi.Arguments = "c:\temp\abc.ini"
pi.FileName = "c:\temp\abc.exe"
p.StartInfo = pi
p.Start()
Dim output as String = p.StandardOutput.ReadToEnd()
p.WaitForExit()
WriteLog("c:\temp\log.log", output)