Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Identifying Directory

by gasho (Beadle)
on Jul 11, 2006 at 19:24 UTC ( #560541=note: print w/replies, xml ) Need Help??


in reply to Identifying Directory

This will work on Windows
###################################################################### +####### # It will return an array of @DirectoryPaths. # $LocationOfThePostDir='C:\Post'; # Usage: @DirPaths=extractDirectoryPaths($LocationOfThePostDir); # For example if you have Underneath of C:\Post \A \B\C # It will return array members like: # C:\\Post\\A # C:\\Post\\B # C:\\Post\\B\\C sub extractDirectoryPaths #(C:\\Post) { my ($RootDir)=@_; my(@A,$e,$C,@B,$b,$a,$c,@E,@D,$j,@F,$y,$x,$ff,@C,@DirectoryPaths); #Purpose is to extract all paths to directories and subdirectories @A=`dir $RootDir /s/w` ; #@A=`dir $_[0] /s/w` ; foreach $e (@A){ $C=substr($e,0,10); #Extract only string that starts with Directory if($C eq " Directory"){ push(@B,$e); } } # Directory of C:\cr1_qc\crnqcV3\CM\Bering\Results\object_test_ +mssql\Root\DirectorySuite\GroupsandRolesSuite\OutputPages # I want to start from C: foreach $a (@B){ push(@C,substr($a,14)); } #Put backslash \in front of\ so it will be C:\\cr1_qc\\ foreach $b (@C){ @D=split(/\\/,$b); $c=join ("\\\\",@D); push(@E,$c); } #Remove lash char that is whitespace @F=trim(@E); # foreach $j (@E) # { # $y=substr($j,0,-1); # push(@F,$y); # } foreach $x (@F){ $ff=substr($x,1,1); if($ff eq ":"){ push(@DirectoryPaths,$x); } } return @DirectoryPaths; }#EndOfextractDirectoryPaths

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (2)
As of 2023-03-22 03:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Which type of climate do you prefer to live in?






    Results (60 votes). Check out past polls.

    Notices?