in reply to Re: copy files
in thread copy files

Steves I hope you are there! I complety understand what are you saying? I have added shift to @directory but it only copies one file???? so you are right!! how could I recode this script so it looks at every directory contain within the array. Any suggestions??? I'll appreciate your help.
#! perl -w use strict; use File::Find; use File::Copy; my $infile = 'c:/doclist1.chr'; # my $outfile = 'c:/doclist1.txt'; open IN, "<$infile" or die "Couldn't open $infile, $!"; # open OUT, ">$outfile" or die "Couldn't open $outfile, $!"; while(<IN>) { chomp; my @fields = split /,/; my $path_str = $fields[6]; do { warn "Empty field 7"; next } unless $path_str; my @path = split /\\/, $path_str; # assuming you want to remove a few directories my @directory = join "\\", @path[0,5,6]; my $srcfile; my $dir = shift @directory; sub process_file { if ($File::Find::dir ne $dir) { $File::Find::prune = 1; return 0; } return 0 if ($_ !~ /\.rtf$/); copy($File::Find::name, "C:\\testfiles\\$_") or die "Failed to cop +y $_: $!\n"; return 1; } find(\&process_file, $dir); # print OUT "\n@directory"; } exit;