I have written this script because I am maintaining a little set of Perl libraries and tools at work, and I'm modifying the installed files on my PC. To avoid erasing it with old versions from CVS, I have the CVS repository elsewhere, and this little script is giving me which file is different from the repository in my current installation
I know the code is not error proof, but it does the work, and it's all I need
use strict; use File::Path; use File::Find; my $repodir='D:\Documents\Works\Perl\Perl tools\repository\amaPerl'; my $instdir='D:\AmaPerl'; my %options; $options{'wanted'}=\&compare_files; $options{'no_chdir'}=1; find(\%options, ($repodir)); exit(0); sub compare_files { return if($_ eq '.' || $_ eq '..' || $File::Find::dir =~ /CVS/); if(-f $File::Find::name) { my $file=substr($File::Find::name,length($repodir)+1); my $other_file=$instdir."\\".$file; if(! -f $other_file) { print "$file not found installed...\n"; } else { system("diff -q \"$File::Find::name\" \"$other_file\" > NU +L"); if($?) { print "$file is different\n"; } } } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: [Win] Compare files between two directories (and subdir)
by Arunbear (Prior) on Apr 09, 2008 at 09:11 UTC | |
|
Re: [Win] Compare files between two directories (and subdir)
by Muggins (Pilgrim) on Apr 11, 2008 at 12:46 UTC | |
by jeepj (Scribe) on Apr 14, 2008 at 08:28 UTC | |
|
Re: [Win] Compare files between two directories (and subdir)
by Anonymous Monk on Apr 11, 2008 at 15:38 UTC | |
by jeepj (Scribe) on Apr 14, 2008 at 08:36 UTC |