我想從VB運行powershell腳本,我希望看到腳本輸出在控制檯應用程序內運行。使用我的腳本(如下所示)從PowerShell運行時,它顯示「Command Sleep Starting」,然後等待5秒鐘,然後顯示其他文本。如何通過運行PowerShell腳本來顯示實時輸出?
但是,當我從VB.NET程序運行時,執行等待5秒鐘並立即轉儲所有文本輸出。它不執行第一個寫入 - 輸出命令,然後等待,然後輸出它應該。
Write-Output "Command Sleeping Starting"
Start-Sleep -Seconds 5
Write-Output "Command ran successfully"
當我從VB .Net程序運行腳本時,如何顯示實時執行輸出的任何想法?
以下更多信息是我使用的代碼。
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)
[有人](http://stackoverflow.com/questions/8740118/interact-with-powershell-process-called-簡單片斷from-java-application/8740564#8740564)試圖用Java來做到這一點。我不確定標準輸出可以被讀取,直到進程退出。 – 2012-03-01 22:07:46