我有以下脚本,用于比较桌面上的两个不同文件夹
$count1 = Get-ChildItem -Path 'c:\users\mhopkins\desktop\test\Application' -Recurse -Force
$count2 = Get-ChildItem -Path 'c:\users\mhopkins\desktop\test\R611' -Recurse -Force
$results = Compare-Object -ReferenceObject $count1 -DifferenceObject $count2
fileX.txt
和fileY.txt
都存在于\Application\
但不存在\R611\
。如何才能使它只返回fileY.txt
? Aka,添加“允许差异”数据集?
答案 0 :(得分:1)
如果你有PowerShell 3,这是相对微不足道的:
$allowedDiffs = "FileX.txt","FileZ.txt"
Compare-Object (gci 'c:\users\mhopkins\desktop\test\Application' -recurse -force') ('c:\users\mhopkins\desktop\test\R611' -recurse -force) | Where-Object {$_.InputObject -notin $allowedDiffs}
否则,在PowerShell 2中,您可以将compare-object命令的结果传递给foreach循环,然后在$ allowedDiffs数组上执行另一个for-each循环。