批量文件重命名器BatchRename程序

开发原因:以前在网上下了很多图片,但它们的名字都杂乱无章,有的还有数字括号组合等,于是作了个批量重命名的小工具。程序极简单,是我初学java时编的。
使用方法:java BatchRenamer dirPath prefix。dirPath:文件所在目录;prefix重名名文件前缀。
如:java BatchRenamer C:/Images pic_。则C:/Images目录下的所有文件(不更改后缀名)都会被重命名为pic_0.xxx到pic_n.xxx,其中xxx为文件原后缀名,n为文件个数减一。
适用对象:java初学者。

import java.io.*;

public class BatchRename {
    public static void main(String[] args) {
        int subNumber = 0;
        if (args.length != 2) {
            System.out.println(" BatchRename Universal Edition 1.0 ");
            System.out.println(" Usage: java BatchRenamer dirPath prefix ");
            System.exit(0);
        }
        File file = new File(args[0]);
        String[] fileNames = file.list();
        System.out.println(" Begin Batch Rename: ");
        for (int i = 0; i < fileNames.length; i++) {
            System.out.print(fileNames[i]);
            file = new File(args[0], fileNames[i]);
            subNumber = fileNames[i].indexOf(" . ");
            if (subNumber < 0) {
                file.renameTo(new File(args[0], args[1] + i));
                System.out.println(" -----> " + args[1] + i);
            } else {
                file.renameTo(new File(args[0], args[1] + i + fileNames[i].substring(subNumber)));
                System.out.println(" -----> " + args[1] + i + fileNames[i].substring(subNumber));
            }
        }
        System.out.println(" End Batch Rename! ");
    }
}

### 回答1: # 定义一个函数 def batchRename(path): # 获取文件路径下的所有文件,存入列表中 filelist = os.listdir(path) # 获取当前路径 currentpath = os.getcwd() # 将当前路径改为要批量重命名的文件夹路径 os.chdir(path) # 遍历文件列表 for file in filelist: # 设置旧文件名(就是路径下的文件名) oldname = file # 设置新文件名 newname = file.replace('旧字符串', '新字符串') # 用os模块中的rename方法对文件改名 os.rename(oldname, newname) # 返回当前路径 os.chdir(currentpath) # 调用函数 batchRename('要批量重命名的文件夹路径') ### 回答2: 可以使用python的os模块来实现批量修改文件名的小程序。首先使用os.listdir()函数获取指定目录下的所有文件名,然后使用os.rename()函数进行文件名修改。具体代码如下: ```python import os def batch_rename_files(folder_path, new_name): # 获取文件夹下所有文件名 file_list = os.listdir(folder_path) for i, filename in enumerate(file_list): # 拼接新文件名 new_filename = new_name + '_' + str(i+1) + os.path.splitext(filename)[-1] # 组合文件路径 src = os.path.join(folder_path, filename) dst = os.path.join(folder_path, new_filename) # 修改文件名 os.rename(src, dst) print(f"将文件名 {filename} 修改为 {new_filename}") # 测试 folder_path = "指定文件夹路径" new_name = "新文件名" batch_rename_files(folder_path, new_name) ``` 在使用时,需要将`folder_path`变量修改为指定的文件夹路径,`new_name`变量修改为新的文件名。该程序会将指定文件夹下的所有文件名按照给定的规则进行修改,并将修改前后的文件名打印出来。 ### 回答3: 下面是一个使用Python写的批量修改文件名的小程序代码: ```python import os # 获取指定文件夹中的所有文件名 def get_files(path): files = [] for file_name in os.listdir(path): if os.path.isfile(os.path.join(path, file_name)): files.append(file_name) return files # 将文件名批量修改为指定的名称 def rename_files(path, new_name): files = get_files(path) for file_name in files: file_path = os.path.join(path, file_name) # 获取文件后缀名 file_extension = os.path.splitext(file_name)[-1] new_file_name = new_name + file_extension new_file_path = os.path.join(path, new_file_name) os.rename(file_path, new_file_path) # 测试 if __name__ == "__main__": # 指定文件夹路径和新的文件名 folder_path = "C:/path/to/folder" new_name = "new_file_name" rename_files(folder_path, new_name) ``` 使用上述代码,你需要将代码中的`C:/path/to/folder`替换为你需要修改文件名的文件夹路径,`new_file_name`替换为你想要给文件改的新名字。 运行代码后,该文件夹中的所有文件名将会被批量修改为指定的名称加上原文件的后缀名。例如,若将`new_file_name`替换为`my_photo`,则原文件`image.jpg`的文件名将被修改为`my_photo.jpg`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值