我應該遍歷整個文件夾樹並將所有文件(包括文件夾)都重命名爲小寫。我環顧四周,發現最好的方法是使用File::Find
。我測試了這個代碼:在File :: Find文件夾遍歷中重命名項目
#!/usr/bin/perl -w
use File::Find;
use strict;
print "Folder: ";
chomp(my $dir = <STDIN>);
find(\&lowerCase, $dir);
sub lowerCase{
print $_," = ",lc($_),"\n";
rename $_, lc($_);
}
它似乎工作正常。但任何人都可以告訴我,如果我可能遇到此代碼的麻煩?我記得有關如何在文件之前重命名文件夾或類似文件時遇到麻煩的文章。
如果小寫版本已經存在,您將覆蓋它。 – jordanm
@jordanm - 好的電話。也許'重命名$ _,lc($ _),除非-e $ _' – Kenosis
啊,好的...謝謝一堆! – imakeitrayne