如何批量命名文件名?
如果只有一百个,手动也不是不行,细心就成
如果会写一点程序也可以操作,比如把100个人的身份证号放到一个数组中,然后用一个循环分别对原为1到100的文件重命名为数组中的值
随手写一个10个人的例子(一百一千也同理)
附程序(以Java为例,写的不严谨但可用,大佬轻喷)
开发环境: JDK8 需要依赖POI
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.*;
public class BatchRename {
public static void main(String[] args) throws IOException {
String rootDir = "E:"+ File.separator +"Work";//文档所在的文件夹,比如E:\\Work
String[] idNumArr = new String[10];
File file = null;//存储旧的文件对象
File fileNew = null;//存储新的文件对象
File excelFile = new File("E:"+ File.separator +"杂货屋"+File.separator+"身份证号.xlsx");//Excel文件对象
//读取Excel中的身份证号
FileInputStream fis = new FileInputStream(excelFile);
XSSFWorkbook wb = new XSSFWorkbook(fis);
for(int numSheet = 0;numSheet< wb.getNumberOfSheets();numSheet++){
XSSFSheet xssfSheet = wb.getSheetAt(numSheet);
//遍历所有表
if(xssfSheet==null){
continue;
}
//遍历所有行
for (int numRow = 0; numRow <= xssfSheet.getLastRowNum(); numRow++) {
XSSFRow xssfRow = xssfSheet.getRow(numRow);
if(xssfRow!=null){//根据需求处理具体的列
idNumArr[numRow] = xssfRow.getCell(0).getStringCellValue();
}
}
}
for (int i = 0; i < 10; i++) {
file = new File(rootDir+File.separator+String.valueOf(i+1)+".docx");
fileNew = new File(rootDir + File.separator + idNumArr[i]+".docx");
if(!file.renameTo(fileNew)){
System.out.println(rootDir+File.separator+String.valueOf(i+1)+"重命名失败");
}
}
}
}
Maven依赖如下:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.16</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.16</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.10</version>
</dependency>