在Powershell中Export-Csv中使用和不使用管道之间的区别

磁性

这可能更像是“ PowerShell如何处理变量和管道”而不是特定的编程问题,但是由于(对我来说)这似乎是奇怪的行为,我想我应该在这里发布。

我只是在使用PowerShell将变量导出到CSV时遇到了一些困难,发现这个Stack问题对我有很大帮助但是,在摆弄输出时,根据我对Export-CSV函数的调用方式,我得到了两个不同的结果

我有一个自定义PS对象,看起来大致像这样:

Account      Partner     ProjectName     ProjectPhase
1            A           Test            Start
2            B           Test2           Start
3            A           Test4           End
4            C           Test3           Middle
....

当我使用以下行时,它可以正确输出CSV文件:

$csvBody | Export-Csv -Path "$targetPath\$fileName" -Encoding Unicode -NoTypeInformation

但是,当我使用以下行时,它不会:

Export-Csv -InputObject $csvBody -Path "$targetPath\$fileName" -Encoding Unicode -NoTypeInformation

在这种情况下,输出如下所示:Count,“ Length”,“ LongLength”,“ Rank”,“ SyncRoot”,“ IsReadOnly”,“ IsFixedSize”,“ IsSynchronized” 263,“ 263”,“ 263”,“ 1“,” System.Object []“,” False“,” True“,” False“

我从其他Stack帖子中了解到,输出成为$ csvBody的属性,该属性是一个数组。我的问题是,当我没有将对象管道输送到Export-CSV时为什么会发生这种情况,而使用管道时却没有发生呢?

联合会

在这里,所有内容都可以用作设计,而且写得不错

第二种方法是,#TYPE System.Object[]如果您保留TypeInformation ,则inputobject是a

当您使用管道调用Export-Csv时,集合的每个对象都会发送到Cmdlet的进程部分。


取一个整数集合:

$a = 1..4

然后尝试:

$a | Get-Member

它给 : System.Int32

然后尝试:

Get-Member -InputObject $a

它给 : System.Object[]

因此,在您的情况下,导出的对象是数组,也可能很有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在C99中使用和不使用&打印指针之间的区别

使用或不使用“!”之间的区别是什么?在Swift中?

在类的构造函数中使用“this”关键字与在 C++ 中不使用它之间有区别吗

在Powershell Export-Csv文件中获取更多文本

Powershell 中的 Export-CSV 仅输出数字/长度

在PowerShell中具有Export-Csv的协助

在Lua中,使用和不使用“ local”关键字声明的局部函数之间有区别吗?

在Swift 3.0中使用可选和不使用可选来声明非赋值变量有什么区别

在Python3中使用单元测试和正常进行测试之间的区别

在此示例中,在 XAML 中使用 DataContext 和后面的代码之间有什么区别?

Odoo中使用sudo()和不使用sudo()之间的区别

在PowerShell中使用Collections.Generic.List [Int]和Collections.Generic.List``1 [Int]之间有区别吗?

使用``#text''和InnerText XML(Powershell)之间的区别

Powershell中@()和@ {}之间的区别是什么?什么时候可以相互使用?

在 Azure DevOps 管道中的 PowerShell 中使用参数

在Python 3.7中使用和重叠命名管道

Powershell Export-Csv覆盖和-append

使用mongodb的Java中createIndex()和suresureIndex()之间的区别

通过PowerShell ISE从SQL Server更改Export-CSV文件中的语言

VHDL中管道和rising_edge之间的区别?

如何在powershell -Command ...中使用管道(|)?

在管道命令中使用Powershell参数

在php类中使用$ this和不使用$ this声明属性之间有什么区别?

在GNU Smalltalk中使用和不使用“ new”创建的实例之间的区别

Swift init中使用self和不使用self之间的区别

在Java中使用<>和不使用它之间有什么区别?

在Python中使用类和不使用类之间有什么区别

如何使用PowerShell 2的export-csv附加文件?

插入 '。' 在grep regex中的所有字符之间,并在管道式grep中使用