使用 powershell 的 Out-GridView 来使用 .Net 应用程序的标准输出

使用 powershell 的 Out-GridView 来使用 .Net 应用程序的标准输出

简单问题:是否可以使用.net 应用程序的输出并通过 powershell 中的 Out-GridView 进行管道传输?

举例来说,我有一个 C# 控制台应用程序,它执行如下操作:

Console.WriteLine("col1-value \t col2-value \t col3-value");
Console.WriteLine("col1-value \t col2-value \t col3-value");

是否可以通过管道将输出传送到 Out-GridView 并将所有内容分隔到不同的命名列中? 否则它如何工作?

答案1

将 C# 程序的输出重定向到文件:

csharp.exe > $env:temp\foo.txt

然后使用如下脚本读取文件内容并将其显示在网格窗口中:

$Columns = "Col1", "Col2", "Col3"
Get-Content $env:temp\foo.txt | ConvertFrom-Csv -Header $Columns -Delimiter "`t" | Out-GridView

答案2

我认为您从根本上误解了 powershell 的总体工作原理。

它的设计目标是以对象而不是文本字符串作为处理事物的主要方式。

如果您想使其工作,您可以获取字符串,使用.Split()函数使它们与众不同,并使其以这种方式工作,但这不是最佳情况。

相关内容