Я пытаюсь запустить скрипт powershell из VB и хочу увидеть результат работы скрипта во время его запуска в консольном приложении.С моим сценарием (показанным ниже), когда я запускаюсь из powershell, он показывает «Запуск командного сна», затем ждет в течение 5 секунд, а затем отображает другой текст.выполнение ожидает в течение 5 секунд и сбрасывает весь вывод текста одновременно.Он не выполняет первую команду Write-Output, а затем ожидает и затем выводит, как следует.
Write-Output "Command Sleeping Starting"
Start-Sleep -Seconds 5
Write-Output "Command ran successfully"
Любая идея о том, как показать результаты выполнения в реальном времени, когда я запускаю скрипт из VB .Net Program?
Просто ниже приведен код, который я использовал.
Dim start As New ProcessStartInfo
Dim ScriptsFolder As String = GetKeyValue("ScriptsFolder")
Console.WriteLine(ScriptsFolder.ToString())
start.FileName = "powershell.exe"
start.Arguments = ScriptsFolder + "\" + ScriptFile
start.UseShellExecute = False
start.RedirectStandardOutput = True
start.RedirectStandardError = True
Dim myproc As New Process
myproc.StartInfo = start
myproc.Start()
Dim so As System.IO.StreamReader
Dim se As System.IO.StreamReader
se = myproc.StandardError
so = myproc.StandardOutput
myproc.WaitForExit()
Console.WriteLine(so.ReadToEnd)
Console.WriteLine(se.ReadToEnd)