比较两个目录中的文件

时间:2017-11-16 16:01:47

标签: powershell

这是我到目前为止所做的尝试:

$fse = Get-ChildItem -Recurse -Path C:\new1 -Filter *.txt

$fso = Get-ChildItem -Path C:\new2 -Filter *.txt | where {$fse.name -eq $_.name}

echo "output : $fso" 

new1目录有文件: - hi.txt,hiCopy.txt,hiCopy2.txt
new2目录有文件: - hi.txt,hiCopy.txt

这就是我得到的:

PS C:\Users\prshrivastava> $fse = Get-ChildItem -Recurse -Path C:\new1 -Filter *.txt

PS C:\Users\prshrivastava> $fso = Get-ChildItem -Path C:\new2 -Filter *.txt | where {$fse.name -eq $_.name}

PS C:\Users\prshrivastava> echo "output : $fso"
output :

我正在尝试列出不同目录中的相同文件,然后删除比较目录,如果找到相同的匹配目录

1 个答案:

答案 0 :(得分:0)

您的问题是您尝试将某个集合与单个项目进行比较(-eq)。

PS C:\> $Fse = Get-ChildItem -Path 'C:\new1' -Filter '*.txt' -Recurse
PS C:\> $Fse.Name

hi.txt
hiCopy.txt
hiCopy2.txt

PS C:\> $Fso = Get-ChildItem -Path 'C:\new2' -Filter '*.txt' -Recurse |
>> Where-Object { $Fse.Name -contains $_.Name }
PS C:\> $Fso

hi.txt
hiCopy.txt

RESOURCES