gpt4 book ai didi

object - powershell 扩展一个对象

转载 作者:行者123 更新时间:2023-12-04 22:47:53 25 4
gpt4 key购买 nike

如何在 PowerShell 中向对象添加列?

例如,Get-Childitem 返回一个对象,带有 Mode、LastWriteTime、Length Name 等......
我想用一个额外的列来扩展这个对象,这是从 LastWriteTime 计算出来的。

这是原始的 Get-Childitem 输出:

Mode                LastWriteTime     Length Name                                                                                                                                                        
---- ------------- ------ ----
-a--- 2012.12.15. 17:02 5390 Log_20121215.txt
-a--- 2013.01.02. 17:10 14014 Log_20130102.txt
-a--- 2013.01.07. 17:08 2200 Log_20130107.txt

我想要这个输出:
Mode                LastWriteTime     Length Name                      ComputedColumn                                                                                                                                  
---- ------------- ------ ---- --------------
-a--- 2012.12.15. 17:02 5390 Telenor_Log_20121215.txt 20131215
-a--- 2013.01.02. 17:10 14014 Telenor_Log_20130102.txt 20140102
-a--- 2013.01.07. 17:08 2200 Telenor_Log_20130107.txt 20140207

谢谢你的帮助。

最佳答案

使用 Add-Memberselect 中的自定义表达式取决于你如何需要它。

计算和存储。保留原始对象,但添加一个自定义列

$data = dir | % { Add-Member -InputObject $_ -MemberType NoteProperty -Name "ComputedColumn" -Value $_.LastWriteTime.AddYears(1).ToString("yyyyMMdd") -PassThru }

在显示(或导出到 csv 等)之前计算它
dir | select Mode, LastWriteTime, Length, Name, @{name="ComputedColumn";expression={ $_.LastWriteTime.AddYears(1).ToString("yyyyMMdd") }}

前任。用格式表正确显示
dir | select Mode, LastWriteTime, Length, Name, @{name="ComputedColumn";expression={ $_.LastWriteTime.AddYears(1).ToString("yyyyMMdd") }} | ft -AutoSize


Mode LastWriteTime Length Name ComputedColumn
---- ------------- ------ ---- --------------
d-r-- 14.04.2013 17:47:18 Contacts 20140414
d-r-- 15.05.2013 14:19:45 Desktop 20140515
d-r-- 14.04.2013 18:03:33 Documents 20140414
d-r-- 11.05.2013 18:22:57 Downloads 20140511

关于object - powershell 扩展一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16565793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com