2013-03-15 92 views
1

我有一个查询可以抓取表中的所有列,然后对其进行一些处理。问题是我使用插入的列名称,但由于Get-Member,它们的顺序不同。有没有办法获得属性名称(列名称)和维护顺序或重新排序System.Data.DataRow。我必须保持财产类型。通过get-member维护财产订单

命令: $ dataColumns = $ dataGatherOut | Get-Member -MemberType属性|选择-对象-ExpandProperty名称 $ dataColumns

结果: PS C:\ Windows \ System32下> $ dataColumns

阿尔法

检查

贷款


命令: $ dataGatherOut

结果:

检查:1234

贷款:测试值

阿尔法:4568

回答

2
$dataGatherOut.psobject.properties | select -ExpandProperty Name 
+0

反正排除RowError,RowState的,表,HasErrors和ItemArray?我做了以下,它的工作原理我怀疑它会匹配我的数据库中的任何列,但如此多的表格不确定。 $ dataGatherOut.psobject.properties |选择-ExpandProperty Name | Where-Object {( - not($ _ -match'RowError | RowState | Table | HasErrors | ItemArray'))} – Russ960 2013-03-15 17:54:42

+1

您可以添加^ $锚以确保您不会与其他任何内容匹配,并且您不会真的($ DataGatherOut.psobject.properties | select -ExpandProperty Name)-notmatch'^(RowError | RowState | Table | HasErrors | ItemArray)$' – mjolinor 2013-03-15 18:10:36

+0

感谢您的帮助。 – Russ960 2013-03-15 19:02:50