现在的位置: 首页 > 综合 > 正文

批处理改名

2013年09月10日 ⁄ 综合 ⁄ 共 1499字 ⁄ 字号 评论关闭

最近公司进行ISO认证了;
IT部的人,要检查每个人的电脑,是否装有一些违禁软件(只能用正
版的)和文件,会search某些后缀名(例如exe,avi,mp3等等)

 

而我装了些许绿色软件和太多的mp3和video文件,删了可惜,打包又太慢了,于是写了个批量改名的
软件

很简单就是把文件名进行了逆序,我想IT的再怎么也不会这么search吧!:)



例如: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()));
        }
       

}

抱歉!评论已关闭.