#!/usr/local/bin/perl #use strict; #use warnings; use File::Find ; $search = shift || 'c:\Documents and Settings\user\Desktop\batch' ; $outfile = 'C:\Documents and Settings\user\Desktop\output'; open OUTF, ">> $outfile/log.txt" or die print " can't create logfile; $!"; find sub { push @dirs, $File::Find::name if -d }, $search ; for $dir ( @dirs ) { opendir $dh, $dir or do { warn "Cannot open '$dir' $!" ; next ; } ; opendir( DIR, "$dir" ) ; @files = readdir( DIR ) ; closedir( DIR ) ; foreach $file ( @files ) { if ( -f "$dir/$file") { $filesize = -s "$dir/$file" ; #if ( $file ne "empty.txt" && $file ne "sample.txt" ) { print OUTF "Warning: $dir/$file has size ZERO\n" if ( $filesize == "0" ) ; } } } closedir( $dh ) ; } close OUTF ; exit 0;