使用名称列表重命名多个文件
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")
我有一个包含许多(大约 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")