简单问题:是否可以使用.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()
函数使它们与众不同,并使其以这种方式工作,但这不是最佳情况。