Командная строка работает в командной строке, но не в VB.NET - PullRequest
0 голосов
/ 27 июня 2018

Моя команда:

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)
...