功能:把当前目录及其子目录里的文件名批量修改
#!/usr/perl#批量修改文件名&find_fileindir(".");#在当前目录执行sub find_fileindir(){ local($dir) = @_; opendir(DIR,"$dir"|| dIE "can't open this $dir"); local @files =readdir(DIR); closedir(DIR); for $file (@files){ next if($file=~m/\.$/ || $file =~m/\.\.$/);#剔除.和.. if ($file =~/\.(cpp|cc|c)$/i){#文件扩展名为cpp或者cc或者c的文件 print "$dir\/$file \n"; my $newfile = $file; $newfile =~ s/cpp/h/; #将“cpp”扩展名改为“h” if(-e $newfile){ #如果修改后会导致文件重名,则输出警告,不作处理 warn "Can't rename $file to $newfile. The $newfile exists!\n"; }else{ rename "$dir/$file","$dir/$newfile" #重命名文件 or warn "Rename $file to $newfile Failed: $!\n"; #如果重命名失败,则输出警告 } elsif(-d "$dir/$file"){ find_fileindir("$dir/$file" ); } }}总结
以上是内存溢出为你收集整理的批量修改目录及其子目录的文件名(perl脚本)全部内容,希望文章能够帮你解决批量修改目录及其子目录的文件名(perl脚本)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)