java 批量重命名文件V2
java 批量重命名文件V2
?
?
import java.io.File;public class BatRename { public static long fileCount = 0; public static long dirCount = 0; public static long renamedCount = 0; public static long deletedCount = 0; public static void main(String[] args) { String filePath = "E:\\battest"; String replaceFrom = ".swf"; String replaceTo = ".swf1"; if (Rename(filePath, replaceFrom, replaceTo) == false) { System.out.println("PROCESS ERROR"); } else { System.out.println("PROCESSED DONE"); } System.out.println("total directories : " + dirCount); System.out.println("total files : " + fileCount); System.out.println("renamed files' Count : " + renamedCount); System.out.println("deleted files' Count : " + deletedCount); } private static boolean Rename(String path, String replaceFrom, String replaceTo) { try { File fl = new File(path); String[] files = fl.list(); File f = null; File renamedFile = null; String filename = ""; for (String file : files) { f = new File(fl, file); if (f.isDirectory()) { System.out.println("\n==> directory : " + path + java.io.File.separator + file); if (Rename(path + java.io.File.separator + file, replaceFrom, replaceTo) == false) { System.out.print("\tPROCESS ERROR"); } dirCount++; } else { filename = f.getName(); System.out.print(path + java.io.File.separator + filename); if (filename.endsWith(replaceFrom) || filename.contains(replaceFrom)) { System.out.print("\t\t-->\t\t"); if ((new File(fl.getAbsolutePath() + java.io.File.separator + filename.replace(replaceFrom, replaceTo))) .exists() == true) { f.delete(); System.out.print("deleted"); deletedCount++; } else { renamedFile = new File(fl.getAbsolutePath() + java.io.File.separator + filename.replace(replaceFrom, replaceTo)); f.renameTo(renamedFile); System.out.print(path + java.io.File.separator + renamedFile.getName()); renamedCount++; } } System.out.println(); fileCount++; } } return true; } catch (Exception ex) { ex.printStackTrace(); return false; } }}