zoukankan      html  css  js  c++  java
  • 文件夹下所有文件及子文件夹将文件名小写

    最近领导要求将服务器上的文件以及以下所有子文件夹下所有东西都小写。网上狂搜各种方法,未果,索性自己编写一个Java解决。

    import java.io.File;
    
    public class AllRename {
        public static void main(String args[]) {
            String RenamePath=args[0];
            File dir = new File(RenamePath);
            RenameAllFiles(dir);
        }
    
        private static void RenameAllFiles(File dir) {
            // TODO Auto-generated method stub
            File[] fs = dir.listFiles();
            for (int i = 0; i < fs.length; i++) {
                File s=new File(dir+"\\"+fs[i].getName().toLowerCase());
                fs[i].renameTo(s);
                if (fs[i].isDirectory()) {
                    try {
                        RenameAllFiles(fs[i]);
                    } catch (Exception e) {
                        System.out.println("System Error!"+fs[i]);
                    }
                }
            }
        }
    }

    后来同事又给了我新的2个方法,分别是perl和shell;

    #!/usr/bin/perl -w
    
    sub f {
      ($path) = @_;
      foreach my $file (glob "$path/*"){
        my $newfile = lc($file);
        if(($file eq ".") || ($file eq "..")) {
          return 1;
        }
        if(-e $file) {
          rename $file, $newfile;
          &f($newfile);
        }
        else {
          rename $file, $newfile;
        }
      }
    }
    f('.');

    shell

    find . | tac | gawk '{x=tolower($0);}x!=$0{print "mv","\047"$0"\047","\047"x"\047"}'|sh 

    代码基本都解决特殊字符的问题,比如括号(我在环境中就问题这样的问题,真不知道哪个2B干的好事...哎)

  • 相关阅读:
    第十周进度条
    冲刺阶段第十天
    冲刺阶段第九天
    冲刺阶段第八天
    冲刺阶段第七天
    冲刺阶段第六天
    第一次冲刺阶段(十一)
    第一次冲刺阶段(十)
    第一次冲刺阶段(九)
    第一次冲刺阶段(八)
  • 原文地址:https://www.cnblogs.com/leonxiaosi/p/2892746.html
Copyright © 2011-2022 走看看