Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Subroutine to Search Subdirectories Failing at Filehandle Test

by smanicka (Scribe)
on Apr 03, 2009 at 16:33 UTC ( #755310=note: print w/replies, xml ) Need Help??

in reply to SOLVED: Subroutine to Search Subdirectories Failing at Filehandle Test

I'm not sure if this code will help , but i have used file find to perform a force copy of every file present inside a set of directories and the sub directories to another directory.These folders have pictures in them which have been sorted and reside in individual sub directories .for eg.
folder1 |-nature | |-animals | |-sky | | |-night | | |-day | | |-silouttes | |-flowers |-cars
and everything gets moved in bin mode to another single folder.
#!usr/bin/perl use strict; use File::Find; use File::Copy; my @location=("C:/folder1","C:/folder2"); my $new_location="C:/moved_files"; foreach my $location(@location){ print "\n$location\n"; find(\&force_move,$location); } sub force_move(){ my $file=$_; print "\n $file"; my $out = "$new_location/$file"; if (-d "$file"){ } else { if ($file ne "."){ open (OUTBIN, '>',"$out") || die "unable to open $out"; binmode(OUTBIN) || die "unable to set binmode $out"; print "\n$out\n"; } } } print "I am done!!!!"; sleep(2);

Replies are listed 'Best First'.
Re^2: Subroutine to Search Subdirectories Failing at Filehandle Test
by BJ_Covert_Action (Beadle) on Apr 06, 2009 at 19:25 UTC
    Actually, that is useful. I am chipping through the perldoc info on file::find now. Thanks for the help so far though everyone, it is definitely helping me learn a lot (which is really the final goal of anything anyways).


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://755310]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (8)
As of 2020-10-26 10:49 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (251 votes). Check out past polls.