【问题标题】:Powershell file comparisonPowershell 文件比较
【发布时间】:2018-04-02 03:41:49
【问题描述】:

我正在尝试比较两个目录以查找目录之间的任何差异(额外文件、丢失文件、额外目录等)。我在下面使用的脚本会生成输出,但我想让脚本做的是打印出任何额外文件或额外目录的完整路径,而不仅仅是文件或目录本身。

所以在这里,Test1 文件夹有两个额外的目录和 Test 目录中不存在的两个额外文件。因此,在输出中,我希望看到完整路径,而不仅仅是目录和文件的名称。

电流输出 -

ExtraDir1

ExtraDir2

额外文件1

额外文件2

期望的输出 -

/Users/jb/Documents/PowerShell/Test1/ExtraDir1

/Users/jb/Documents/PowerShell/Test1/ExtraDir2

/Users/jb/Documents/PowerShell/ExtraFile1

/Users/jb/Documents/PowerShell/Test1/ExtraDir2/ExtraFile2

$Source = Get-ChildItem -Recurse -path /Users/jb/Documents/PowerShell/Test
$Target = Get-ChildItem -Recurse -path /Users/jb/Documents/PowerShell/Test1

Compare-Object -ReferenceObject $Source -DifferenceObject $Target | %{
if ($_.SideIndicator -eq "=>") {"$($_.InputObject) "}
} >> ./Results/ExtraDir.txt

【问题讨论】:

    标签: powershell


    【解决方案1】:

    使用来自Get-ChildItem 的输入对象的FullName property 获取完整路径:

    Compare-Object -ReferenceObject $Source -DifferenceObject $Target | %{
      if ($_.SideIndicator -eq "=>") {"$($_.InputObject.FullName) "}
    } >> ./Results/ExtraDir.txt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 2013-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多