我需要能够启动一个进程并将输出读入一个变量。然后基于命令的返回,我可以选择显示全部输出或仅显示一个选定的子集。我想要启动一个基于文本的进程(实际上是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