Come confrontare due directory (incluse le directory secondarie) per le differenze?

Come posso confrontare due directory con sottodirect per vedere where è la differenza?

  • kjournald motivi per un utilizzo elevato
  • Come scoprire chi sta eliminando i file su un server Linux?
  • Elencare i file più grandi su disco in Windows
  • Simulazione di file system lenti
  • Imansible montare il volume nfs - time out
  • Qual è il miglior file system (usato da un volume Amazon EBS) per un indice lucene?
  • 6 Solutions collect form web for “Come confrontare due directory (incluse le directory secondarie) per le differenze?”

    Sotto Linux:

    $ diff -r /first/directory /second/directory 

    In Windows: probabilmente è meglio scaricare e installare WinMerge, quindi

     > WinMerge /rc:\first\folder c:\second\folder 

    M

    Oltre a confrontare è un buon strumento commerciale, $ 30 o giù di lì. Funziona sotto le windows, ha una versione eval. http://www.scootersoftware.com/

    Ho utilizzato meld su Ubuntu – ha una buona opzione di confronto di directory.

    Su Windows, credo che la windiff lo fa, tuttavia Winmerge è il mio strumento di scelta per questo lavoro. È open source e fa un lavoro molto ordinato di confrontare due serie di alberi di directory.

    edit: oops, è stato picchiato da Marius

    DiffMerge per Windows mostra le differenze comprese le sottocartelle in una window. C'è anche una versione porttile da qualche parte ma una ricerca veloce ha rivelato questo download: http://www.softpedia.com/get/System/File-Management/SourceGear-DiffMerge.shtml

    Ho scritto questo utilizzando il cmdlet Compare-Objects in Powershell:

     #set the directories $firstdirectory = Read-Host "What is the first directory you wish to compare?" $seconddirectory = Read-Host "What is the second directory you wish to compare?" #Check if the user wants to compare subdirectories $recursivesearch = Read-Host "Do you wish to compare subdirectories? Please enter yes or no." If ($recursivesearch -eq "yes") #get the contents { $firstdirectorycontents = @(Get-ChildItem $firstdirectory -Recurse) $seconddirectorycontents = @(Get-ChildItem $seconddirectory -Recurse ) } else { $firstdirectorycontents = @(Get-ChildItem $firstdirectory) $seconddirectorycontents = @(Get-ChildItem $seconddirectory) } #compare the objects and handle errors if ($firstdirectorycontents.Count -eq 0 ) { Write-Host "No files were found in the first directory, the directories cannot be compared." } elseif ($seconddirectorycontents.Count -eq 0) { Write-Host "No files were found in the second directory, the directories cannot be compared." } else { try { Compare-Object -ReferenceObject $firstdirectorycontents -DifferenceObject $seconddirectorycontents } catch {"Another error occured."} } 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.