cleanup.pl to HTML.

index -|- end

Generated: Tue Feb 2 17:54:26 2010 from cleanup.pl 2005/11/24 4.6 KB.

#!/Perl
# AIM: To build a CLEANUP batch file
# for a DIRECTORY ...
# Presently no input - you must adjust the my_folder variable
# Only searches for targets directories containing -
# *.obj or *.sbr or *.idb or *.pdb or *.ncb or *.opt
# and temp*.* - with one exception is the 'CVS' directory 'Template' file
# Uses a CLOBNOW.BAT file to do the cleanup in a folder
# Uncomment write_clobnow2 below to write this batch file,
# which obviously HAS to be renamed to 'clobnow.bat', and
# put in a VALID runtime PATH ...
my $verbose = 1;
my $verb2 = 0;
my $my_folder = 'C:\FG099';
###my $my_folder = 'C:\FGOK';
my @dirs = ($my_folder); # folders to process
my @dir_obj = (); # start with NONE
my $do_cnt = 0;
my $bat_fil = 'cleanup.bat';
my $BF;
my $d;
open $BF, ">$bat_fil" or die "Can NOT open BATCH file $bat_fil!\n";
while ( scalar @dirs ) {
   local @dirs2 = @dirs;
   @dirs = ();
   local $dir;
   foreach $dir (@dirs2) {
      print '.' if !$verb2;
      process_dir($dir);
   }
   print "\n" if !$verb2;
}
$do_cnt = scalar @dir_obj;
print "Found $do_cnt directories, with objects ...\n";
foreach $d (@dir_obj) {
   print $BF "cd $d\n";
   print $BF "call clobnow\n";
}
print $BF '@echo' . " Processed $do_cnt directories, with objects ...\n";
print $BF "call hperl";
close ($BF);
# uncomment this to write a clobnow2.bat file
# write_clobnow2();
##################################
# end of program
#################################
### only subs below
#################################
sub process_dir {
   local ($in_folder) = @_;
   print "Processing folder $in_folder ...\n" if $verb2;
   if( !( -d $in_folder ) ) {
      print "Folder $in_folder is NOT a directory! ... aborting ...\n" if $verbose;
      return 0;
   }
   if (! opendir(DIRH, $in_folder) ) {
      print "ERROR: Can NOT open directory $in_folder ... aborting ...\n" if $verbose;
      return 0;
   }
   local @files = readdir(DIRH);
   closedir(DIRH);
   local $fcnt = scalar @files;
   if ((! @files) || ($fcnt < 3)) {
      print "No files found in folder $in_folder ...\n" if $verb2;
      return 0;
   }
   local ($fn, $ffn);
   local $got_obj = 0;
   print "Found $fcnt items in folder ...\n" if $verb2;
   $got_obj = 0;
   foreach $fn (@files) {
      $ffn = $in_folder . '\\' . $fn;
      if ( -d $ffn ) {
         if (($fn eq '.') || ($fn eq '..')) {
            # do nothing
         } else {
            push(@dirs, $ffn);
            print "Sub-directory $ffn ...\n" if $verb2;
         }
      } else {
         if (($fn =~ /\.obj$/i) || ($fn =~ /\.sbr$/i)) {
            print "Object File $ffn ...\n" if $verb2;
            $got_obj++;
         } elsif (($fn =~ /^temp/i) && !($fn =~ /^Template$/) ) {
            print "Temp*.* File $ffn ...\n" if $verb2;
            $got_obj++;
         } elsif (($fn =~ /\.idb$/i) || ($fn =~ /\.pdb$/i)) {
            print "IDB or PDB File $ffn ...\n" if $verb2;
            $got_obj++;
         } elsif (($fn =~ /\.ncb$/i) || ($fn =~ /\.opt$/i)) {
            print "NCB or OPT File $ffn ...\n" if $verb2;
            $got_obj++;
         } else {
            print "File $ffn ...\n" if $verb2;
         }
      }
   }
   local $dcnt = scalar @dirs;
   if ($got_obj) {
      print "Found $got_obj obj in folder .../n" if $verb2;
      push(@dir_obj, $in_folder);
   } else {
      print "Found NO obj in folder ...\n" if $verb2;
   }
   if ($dcnt) {
      print "Found $dcnt directories to process ...\n" if $verb2;
   }
}
sub write_clobnow2 {
   open $CN, ">clobnow2.bat" or die "Can NOT open BATCH file clobnow2.bat!\n";
   print $CN <<EOF;
\@REM Updated 12 Nov, 2005 ... added .sbr
\@if EXIST *.old echo Deleting *.old ...
\@if EXIST *.old Del *.old > nul
\@if EXIST *.bak echo Deleting *.bak ...
\@if EXIST *.bak Del *.bak > nul
\@if NOT EXIST temp*.* goto dntmp
\@echo   Delete temp*.* ...
\@del temp*.* > nul
:dntmp
\@if NOT EXIST *.obj goto dnobj
\@echo   Delete *.obj ...
\@del *.obj > nul
:dnobj
\@if NOT EXIST *.err goto dnerr
\@echo   Delete *.err ...
\@del *.err > nul
:dnerr
\@if NOT EXIST *.pdb goto dnpdb
\@echo   Delete *.pdb ...
\@del *.pdb > nul
:dnpdb
\@if NOT EXIST *.lst goto dnlst
\@echo   Delete *.lst ...
\@del *.lst > nul
:dnlst
\@if EXIST *.pch echo Deleting *.pch ...
\@if EXIST *.pch Del *.pch > nul
\@if EXIST *.ilk echo Deleting *.ilk ...
\@if EXIST *.ilk Del *.ilk > nul
\@if EXIST *.NCB echo Deleting *.NCB ...
\@if EXIST *.NCB Del *.NCB > nul
\@if EXIST *.plg echo Deleting *.plg ...
\@if EXIST *.plg Del *.plg > nul
\@if EXIST *.OPT echo Deleting *.OPT ...
\@if EXIST *.OPT Del *.OPT > nul
\@if EXIST *.idb echo Deleting *.idb ...
\@if EXIST *.idb Del *.idb > nul
\@if EXIST *.aps echo Deleting *.aps ...
\@if EXIST *.aps Del *.aps > nul
\@if EXIST *.sbr echo Deleting *.sbr ...
\@if EXIST *.sbr Del *.sbr > nul
:Done
EOF
   close($CN);
}
# eof - cleanup.pl

index -|- top

checked by tidy  Valid HTML 4.01 Transitional