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

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

  • Qual è il bit appiccicoso nei file system UNIX? Quando viene utilizzato?
  • Come permettere a più persone di modificare il file mtime -imestamp di un file tramite sftp?
  • crontab - Nessun spazio rimasto sul dispositivo
  • Tempo di creazione dei file su Windows vs Linux
  • È una directory dei bambini "sotto" o "sopra"?
  • C'è qualcosa (libero) come ZFS o HadoopFS o GFS per Windows?
  • 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.