在 cmd (windows) 或 Python 中重命名多个文件

Renaming multiple files in cmd (windows) or with Python

我正在尝试将名称为 p01p02 等的 470 个文件列表重命名为每个文件的特定名称。所以我得到了这些文件名的正确顺序的列表(.txt 或 .xls),但我无法找出一个 for 循环来批量重命名它。
我检查了该论坛和 Google 上的其他主题,但无法获得我需要的结果。
希望有人对此有解决方案... Python 或 cmd window 都是可能的。

简而言之:

p01.pdf --> Blabla.pdf

p02.pdf --> Othertext.pdf
....

Python 3

  1. 首先将您的旧文件名和新文件名导出到 filenames.txt 文件中。其内容的格式应为 old_filename.pdf,new_filename.pdf:

    p01.pdf,blabla.pdf
    p02.pdf,foobar.pdf
    
  2. 然后在目录下创建python文件rename.py

    该脚本从该文件中逐行读取并使用 os.rename(src, dest) 相应地重命名您的文件:

    import os
    
    with open("filenames.txt", mode="r") as open_file:
        filenames = open_file.readlines()
    
    for filename in filenames:
        separator_index = filename.find(",")
        old_filename = filename[:separator_index]
        new_filename = filename[separator_index + 1:] # +1 to exclude the comma from the new filename
    
        os.rename(old_filename, new_filename)
    
  3. 现在,要执行您的脚本,请在该目录中打开 cmd.exe 并键入:

    $ python3 rename.py
    

不同的路径

如果您的文件不在同一目录中,只需将它们的路径添加到 filenames.txt,如下所示:

path/to/old_filename.pdf,path/to/new_filename.pdf

专业提示: 在 Windows 资源管理器中导航到所有文件所在的文件夹,按 CTRL + L 突出显示导航栏,输入 cmd 并按 ENTER 确认。 cmd.exe 现在应该可以直接打开您已设置的文件夹的正确路径。

对于批处理解决方案,创建文本文件并添加以逗号分隔的名称,我们将其命名为 filenames.txt:

p01.pdf,Blabla.pdf
p02.pdf,Othertext.pdf
...

然后作为批处理文件执行:

for /f "tokens=1,2 delims=," %%i in (filenames.txt) do ren "%%i" "%%j"

或直接从控制台 (cmd.exe) 这是完全相同的,我们只是使用单个 % 而不是双 %%

for /f "tokens=1,2 delims=," %i in (filenames.txt) do ren "%i" "%j"