in reply to How to rename to lowercase every file in a directory and its subdirectories?
you have to use recursion, because you dont know how much deep all subdirectories goes
#!/usr/bin/perl -w use strict; my $path_to_dir = shift; dir("$path_to_dir"); sub dir { opendir(DIR,"$_[0]"); my @list_of_files = readdir(DIR); foreach(@list_of_files) { if($_ ne "." && $_ ne "..") { if(-d "$_[0]/$_") { dir("$_[0]/$_"); } else { rename "$_[0]/$_","$_[0]/"."\L$_"; } } } }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Answer: How to rename to lowercase every file in a directory and its subdirectories?
by hsmyers (Canon) on Dec 21, 2001 at 00:44 UTC | |
Re: Answer: How to rename to lowercase every file in a directory and its subdirectories?
by Anonymous Monk on Jan 13, 2009 at 15:54 UTC |
In Section
Seekers of Perl Wisdom