java - 批处理文件重命名——从列表中插入文本(在 Python 或 Java 中)

标签 java python file-rename

我正在完成名片制作流程(excel > xml > indesign > 单页 pdf),我想在文件名中插入员工的姓名。

我现在拥有的:

BusinessCard_01_Blue.pdf
BusinessCard_02_Blue.pdf
BusinessCard_03_Blue.pdf (they are gonna go up to the hundreds)

我需要什么(我可以轻松地使用正则表达式操作名称列表):

BusinessCard_01_CarlosJorgeSantos_Blue.pdf
BusinessCard_02_TaniaMartins_Blue.pdf
BusinessCard_03_MarciaLima_Blue.pdf

我是 Java 和 Python 的初学者。我已阅读相关问题,在 Automator (Mac) 和 Name Mangler 中尝试过,但无法正常工作。

提前致谢, 格斯

最佳答案

假设您有一张 map ,您可以在其中查看正确的名称,您可以在 Java 中执行类似的操作:

List<Files> originalFiles = ... 
for( File f : originalFiles ) { 
     f.renameTo( new File( getNameFor( f ) ) );
}

然后将 getNameFor 定义为如下内容:

public String getNameFor( File f ) { 
    Map<String,String> namesMap = ... 
    return namesMap.get( f.getName() );
}

在 map 中,您将拥有关联:

BusinessCard_01_Blue.pdf => BusinessCard_01_CarlosJorgeSantos_Blue.pdf

有道理吗?

关于java - 批处理文件重命名——从列表中插入文本(在 Python 或 Java 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5022777/

相关文章:

java - 转换为父类(super class)后从子类获取数据

python - Conduit.simpleHttp - 执行带有 header 和数据的请求

python - 找不到 GRPC channel 选项的文档

linux - 在linux bash中复制并重命名文件

Perl:获取区分大小写的文件名

java.io : Rename all elements of an absolute File path

Java:手动向日期添加天数

java - JDK6 中不存在 sun.text.Normalizer

java - 通过解析表格数据创建Java对象

python - 沿一维的 1D 数组和 3D 数组的高效乘积 - NumPy