gpt4 book ai didi

powershell - 更改Powershell输出属性

转载 作者:行者123 更新时间:2023-12-03 01:05:04 24 4
gpt4 key购买 nike

我正在研究一个脚本,该脚本将两个目录的内容与同名文件进行比较,并返回不同的文件。我用来确定文件是否不同的propertyLastWriteTimeSize

这是我当前的脚本:

$var1 = Get-ChildItem -path C:\proj\BIN\ -Recurse 
$var2 = Get-ChildItem -path C:\proj2\BIN\ -Recurse
Compare-Object -ReferenceObject $var1 -DifferenceObject $var2 -Property Name, LastWriteTime, Size | Sort-Object Name

这是我当前的输出:
Name          LastWriteTime          Size SideIndicator
---- ------------- ---- -------------
folder1 6/1/2018 3:20:37 PM =>
folder1 5/21/2018 12:08:36 PM <=
folder2 6/1/2018 3:20:37 PM =>
folder2 5/21/2018 12:08:36 PM <=
CustomReports 6/1/2018 3:20:37 PM =>
CustomReports 5/21/2018 12:08:39 PM <=
folder3 6/1/2018 3:20:38 PM =>
folder3 5/21/2018 12:08:38 PM <=
blank.XML 6/1/2018 3:37:49 PM =>
blank.XML 11/22/2017 12:36:04 PM <=

据我所知,大小为空的原因是因为它们大小相同。如果是这样,那就没问题。如果碰巧只是巧合,那么我将需要纠正它。

编辑: size不正确。 length是正确的 property

我想将输出从 Name更改为 Fullname。如果我在脚本中更改它,它将列出每个文件,因为它们位于不同的目录中。

我将此管道添加到了最后一行:
| Format-Table -property FullName, LastWriteTime, Size

据我了解,脚本应基于 compare-object进行 name, lastWriteTime, size编码,并根据 sort-object从这些结果 name中提取,然后从这些结果中返回 fullname, lastWriteTime, size

我的新输出是:
FullName LastWriteTime          Size
-------- ------------- ----
6/1/2018 3:20:37 PM
5/21/2018 12:08:36 PM
6/1/2018 3:20:37 PM
5/21/2018 12:08:36 PM
6/1/2018 3:20:37 PM
5/21/2018 12:08:39 PM
6/1/2018 3:20:38 PM

最佳答案

如果将-PropertyCompare-Object一起使用,则输出对象仅具有指定的属性。

使输入对象通过[1]
,添加-PassThru开关。

在您的情况下,应该使.FullName属性在Compare-Object / Sort-Object的输出中可用。

放在一起:

Compare-Object $var1 $var2 -PassThru -Property Name, LastWriteTime, Length | 
Sort-Object Name |
Format-Table FullName, LastWriteTime, Length

[1]使用 -PassThru,通过 .SideIndicator NoteProperty成员(PowerShell添加了具有静态值的属性)增强了传递的对象,因此您仍然可以按给定对象的哪一侧( -ReferenceObject-DifferenceObject)过滤输出对象。是独一无二的。

关于powershell - 更改Powershell输出属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50650925/

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