#!/usr/local/bin/perl # # [check-dir-for-burning-cds.pl] 07.04.1998 René Scholz <Voland@Jena.Thur.de> # # Use: checkt ein Verzeichnis (Unix) daraufhin, ob es Kollisionen bei den # Dateinamen gibt, die beim CD-Brennen einen Fehler verursachen bei der # Dateinamensersetzung (ISO usw.) ($NAME=$0) =~ s|.*/||; # get basename from $0; $USAGE="Usage:\t\t$NAME [options] <Directory> \n\n" . "options:\t-p check for files with more than 1 '.'\n" . "\n"; $NO3=1; $DIR=shift(@ARGV); if($DIR=~/--?[hH]/) { print $USAGE; exit(0); } if($DIR eq "-p") { $NO3=0; $DIR=shift(@ARGV); } if($DIR eq "") { chomp($DIR=`pwd`); } print "Checking Directory $DIR ...\n\n"; chdir $DIR or die "Cannot chdir to $DIR: $!\n"; open(LISTING, "find . |"); while (chomp($_=uc(<LISTING>))) { s/\.\/?//; if(! exists $OTTO{"$_"}) { $OTTO{"$_"}=1; } else { print "Kollision bei: $_\n"; } if($NO3==0) { @_=split("/",$_); $r=pop(@_); @t=split(/\./, $r); print "Mehrere Punkte: $_\n" if($#t >1); } }