gpt4 book ai didi

powershell - 修改/转换选择对象中的数据

转载 作者:行者123 更新时间:2023-12-04 10:07:16 28 4
gpt4 key购买 nike

说我有项目 list 。我想导出到csv,但在此之前我想做一些计算/修改。

基本上,设置如下所示:

PS C:\Files> gci
Directory: C:\Files

Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/23/2014 6:03 PM 11084 Blob.txt
-a--- 10/13/2014 1:32 PM 31591 dates.txt
-a--- 2/11/2014 1:46 PM 11990 out.txt

PS C:\Files> $data = gci

而且我可以很容易地选择要放入CSV的项目。为简洁起见,省略了实际的Export-CSV部分
PS C:\Files> $data | Select-Object FullName,name

但是我真正想要做的是计算一些列,并将这些列也包含在CSV中。举个例子,说我想计算'\'字符以了解文件夹的深度。我认为您可以告诉我我在这里尝试什么,即使它出错了。
PS C:\Files> $data | Select-Object FullName,name,FullName.Split('\').Count
Select-Object : A positional parameter cannot be found that accepts argument '1'.

有没有办法让它工作?

最佳答案

您需要的是calculated property(感谢Ansgar Wiechers纠正我的术语并提供链接)来为您完成此操作。您可以在Select命令中通过创建一种即席哈希表来实现此目的,如下所示:

PS C:\Files> $data | Select-Object FullName,name,@{name='FolderDepth';expression= {$_.FullName.Split('\').Count}}

可以将其缩短为 @{n='Name';e={scriptblock}},其中 n代表名称,并且可以与 l互换(label的缩写)。 e是表达的简称。

关于powershell - 修改/转换选择对象中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26555204/

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