我需要能夠啓動一個進程並將輸出讀入一個變量。然後基於命令的返回,我可以選擇顯示全部輸出或僅顯示一個選定的子集。我想要啓動一個基於文本的進程(實際上是psexec),並將該命令(stdout,stderr等)的輸出讀入一個變量,而不是直接輸出到控制檯。PowerShell有一個相當於popen嗎?
5
A
回答
5
你忘了關於什麼樣的過程的一些細節,但我認爲Powershell Team Blog的this article有你想做的任何事情,無論是從某個地方管道可執行文件的輸出或利用System.Diagnostics.Process
。
現在,第二個選項聽起來像你想做什麼,你可以使用ProcessStartInfo
類true
飼料爲RedirectStandardOutput
屬性,然後從Process
對象的StandardOutput
財產讀做任何你想要的輸出。 StandardError
的工作原理完全相同。
1
至於閱讀的東西到變量而言,你應該能夠做到像
$output = ps
這將只能捕獲標準輸出,雖然不是冗長,警告或錯誤流。您可以通過測試特殊變量$?
來獲取上一個命令的退出代碼。
我認爲更多的信息可以用來提供更完整的答案,但希望這可以通過某種方式找到您要找的東西。
1
PowerShell Community Extensions包括啓動過程。這實際上返回System.Diagnostics.Process。
> $proc = Start-Process pslist -NoShellExecute
然而,儘管這將返回過程對象它不允許你將輸出重定向執行之前進行。要做到這一點你可以創建自己的過程,並通過先修改的ProcessStartInfo成員執行:
> $proc = New-Object System.Diagnostics.Process
> $proc.StartInfo = New-Object System.Diagnostics.ProcessStartInfo("pslist.exe")
> $proc.StartInfo.CreateNoWindow = $true
> $proc.StartInfo.UseShellExecute = $false
> $proc.StartInfo.RedirectStandardOutput = $true
> $proc.Start()
> $proc.StandardOutput.ReadToEnd()
相關問題
- 1. Powershell相當於log4perl
- 2. Django有相當於rails.vim嗎?
- 3. Angluar2有相當於ngCsp嗎?
- 4. Android有相當於UIScrollView嗎?
- 5. 這相當於一個std :: string嗎?
- 6. 相當於在PowerShell中
- 7. 在PowerShell中相當於su
- 8. PowerShell中的相當於SignTool.exe
- 9. VB相當於PowerShell的
- 10. Powershell的相當於F#Seq.forall
- 11. &&相當於在PowerShell中
- 12. 相當於grep的PowerShell -f
- 13. powershell有一個method_missing()嗎?
- 14. 在objective-c中有一個相當於sqlite.dump的嗎?
- 15. 是否有一個Monoid相當於Bifunctor?
- 16. 對於SQL * Plus,有相當於少一些嗎?
- 17. 單聲道有相當於ILDASM嗎?
- 18. Mercurial有相當於git clean嗎?
- 19. Android有相當於JPanel的嗎?
- 20. Django有相當於ActiveScaffold的嗎?
- 21. SQLAlchemy有相當於Django的get_or_create嗎?
- 22. CueText相當於一個TMemo
- 23. Popen()。stdout.close()返回一個值嗎?
- 24. Solaris對popen有問題嗎?
- 25. Powershell:相當於Perl的'for'命令?
- 26. 存儲:C#相當於PowerShell命令
- 27. 相當於在PowerShell中bash「expect」
- 28. Powershell相當於來自bash的「$ @」
- 29. PowerShell相當於C#「is」運算符?
- 30. 相當於Linux mkdir {fileA,fileB}在PowerShell中
不知道你是如何更清晰的希望。我想捕獲由powershell發佈的命令的輸出...像popen。該頁面似乎只列出了啓動processse的方法。 – vfilby 2008-10-22 22:33:37