aasys.pl - steps through directories Word docs & calls aaconvert.pl
#!/usr/bin/perl -w#
#///////////////////////////////////////////////////
#// Dennis W. Ruffner
#// December 2004
#// aasys.pl: steps through directories opening all of the Word in turn then does a
#// system call to aaconvert.pl -- copies MS Word document to text file
#// 888 Web Gurus
#///////////////////////////////////////////////////
#// Walks the directory ($dir) opens subdirectories and Word documents in turn.
#// Converts Word documents to text files
#//
#// paramaters:
#// $dir - directory one level above where your Word Documents reside
#// $dir_out - directory one level above where your Text Documents will reside
#//
#// Out0File.txt -- report created in $dir
#//
#// Input: Clear input directories of all non word documents
#// Output: Creates directories in directory $dir_out and a text file for each Word document in $dir
$dir = "c:/aad/Disks/";
$dir_out = "c:/aad/Dsktxt/";
$path_in = "";
$path_out = "";
$dir_mk = "";
print "aasys.pl\n";
print " directory $dir\n";
print " directory out $dir_out\n";
$dir_cnt = 0;
$file_cnt = 0;
&open_out0_file;
print OUT0 ("##################### ");
print OUT0 ("Program: aasys.pl");
print OUT0 (" ################## \n");
&date_time;
opendir DIR, "$dir";
@files = readdir DIR;
close DIR;
foreach $file (@files) {
$path = $dir . "/" . $file;
$path =~ s/\/\//\//;
if ($file eq "\.") { next; }
if ($file eq "\.\.") { next; }
$dir_cnt++;
$dir_mk = $dir_out . $file;
print $path . "\n";
print OUT0 ("\n" . $path . "\n");
print OUT0 ("dir_mk: $dir_mk \n");
mkdir ($dir_mk);
opendir DIR, "$path";
@files2 = readdir DIR;
close DIR;
foreach $file2 (@files2) {
$path2 = $dir . "/" . $file2;
$path2 =~ s/\/\//\//;
if ($file2 eq "\.") { next; }
if ($file2 eq "\.\.") { next; }
$file_cnt++;
$path_in = $dir . $file . "/" . $file2;
$file2 =~ s/\.//;
$path_out = $dir_out . $file . "/" . $file2 . ".txt";
&ConvToTxt($path_in, $path_out);
} # end second foreach
} # end first foreach
print "\ndirectories opened: " . $dir_cnt . "\n";
print "\nfiles opened: " . $file_cnt . "\n";
print OUT0 ("directories opened: " . $dir_cnt . "\n");
print OUT0 ("files opened: " . $file_cnt . "\n");
close(OUT0);
exit(0);
###################### call to 'aaconvert.pl' #####################################
sub ConvToTxt (&$) {
my ($in, $out) = @_;
# print "ConvToTxt\n";
print OUT0 ("\n in: $in\n out: $out\n");
system("aaconvert.pl $in $out");
} # end ConvToTxt
#####################################################################################
sub date_time {
($sec, $min, $hour, $mday, $mon, $year, $wday) =
localtime(time);
#$hour:$min:$sec
$year += 1900;
$thisday = (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[$wday];
$thismonth = (Jan,Feb,Mar,Arp,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)[$mon];
$thisdate = $thisday . ", " . " " .$mday . " " . $thismonth . " " . $year . " " . $hour
. ":" . $min . ":" . $sec;
print ("\nToday is: $thisdate\n");
} # end date-time
#####################################################################################
sub open_out0_file {
print (" open_out0_file\n");
$out0file = $dir . "Out0File.txt";
open(OUT0, ">$out0file") || "Open Out0 failed";
} # end open_out1_file;
This page has been visited 1200 times.