PowerShell - Каталог - Сравнение бок о бок - PullRequest
0 голосов
/ 20 сентября 2019

Мне нужно сравнить две структуры каталогов бок о бок в Power shell, но я не могу этого сделать.Ищете такой вывод

Filename   Dir1     Dir2      File exists in Dir1 File exists in Dir2
ABC.txt    c:\data  d:\data   True                False  
ABD.txt    c:\data  d:\data   False               False
ADC.txt    c:\data  d:\data   True                True

$SourceFiles = Get-ChildItem 'c:\data' -File 
$destFiles = Get-ChildItem 'd:\Data' -File 
Compare-Object $sourceFiles $destFiles -IncludeEqual -ExcludeDifferent -Property Name| ForEach-Object { 
   [PSCustomObject]@{ 
   Name = $_.Name 
   Path1 = ($SourceFiles | Where-Object Name -eq $_.Name).Directory 
   Path2 = ($destFiles | Where-Object Name -eq $_.Name).Directory } 
}

1 Ответ

1 голос
/ 21 сентября 2019

Попробуйте это:

$DirSourceName='c:\temp'
$DirDestName='c:\temp2'

$SourceFiles = Get-ChildItem $DirSourceName -File 
$destFiles   = Get-ChildItem $DirDestName -File 

Compare-Object $sourceFiles $destFiles   -Property Name -IncludeEqual | %{
    [pscustomobject]@{
        FileName=$_.Name
        Dir1=$DirSourceName
        Dir2=$DirDestName
        "File exists in Dir1"=($_.SideIndicator -eq "==" -or $_.SideIndicator -eq "<=")
        "File exists in Dir2"=($_.SideIndicator -eq "==" -or $_.SideIndicator -eq "=>")
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...