论坛首页 入门技术论坛

批处理改名

浏览 1744 次
锁定老帖子 主题:批处理改名
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-18  

例如:test.rmvb改名后为rmvb.tset

      test.mp3改名后为3pm.tset

使用方式如下:

支持目录的多级遍历(使用了递归)

RenameBat.changeFileName("D:\\mp3"); 修改mp3目录下的所有文件
RenameBat.changeFileName("D:\\"); 修改所有D盘所有目录下的文件

如果你想还原真实的文件名,也很简单,再运行一次,就还原了啊(因为逆序的逆序==正序)

代码如下:



import java.io.File;

public class RenameBat {
       
        public static void changeFileName(String directory){
                File file = new File(directory);
                String[] allFile = file.list();
                System.out.println("________________start in ("+directory+")__________________");
                for(int i=0;i<allFile.length;i++){
                        try{
                                file = new File(directory+"\\"+allFile[i]);
                                if(file.isFile()){
                                        rename(file);
                                }else{
                                        changeFileName(directory+"\\"+allFile[i]);   //注意递归了
                                }
                        }catch(Exception e){e.printStackTrace();}
                }
                System.out.println("________________end in ("+directory+")__________________");
        }
       

        private static void rename(File file){
                StringBuffer strBuf = null;
                strBuf = new StringBuffer(file.getName());
                file.renameTo(new File(file.getParent()+"\\"+strBuf.reverse().toString()));
        }
       
}

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics