使用名称列表重命名多个文件

Rename multiple files using a name list

我有一个包含许多(大约 500 个)文件的文件夹,名称类似于
roz001.mp3
roz002.mp3
...

然后我得到一个 .txt(称为 "names.txt")文件,格式如下
roz001 O korytnačke a opici
roz002 Vlk a líška
...

基本上,它就像“(没有扩展名的文件名)(space)(没有扩展名的所需文件名的字符串)”。

如何使用此列表重命名这些文件?我需要将文件 "roz001.mp3" 重命名为 "O korytnačke a opici.mp3" 等等。我真的不在乎这将如何实现——我可以访问终端(我在 Mac 上),我也可以使用 Python,但我愿意使用任何方式可以用来做到这一点。

预先感谢您的所有帮助。

看看这里(Bulk Rename),认为它会做你需要做的。

另一种选择是编写一个使用 for /f 循环的批处理脚本 (explained here)

希望对您有所帮助

在Python中会很简单:

  • 打开文件"names.txt"并逐行阅读
  • 对于在 old_name 和 new_name
  • 中第一个 space 拆分的每一行
  • 将 old_name.mp3 重命名为 new_name.mp3

代码可能是这样的:

import os

with open("names.txt") as fd:
    for line in fd:
        line = line.strip()
        if len(line) == 0: continue
        old, new = line.strip().split(" ", 1)
        os.rename(old.strip() + ".mp3", new.strip() + ".mp3")