簡體   English   中英

重命名多個文件

[英]Renaming Multiple Files

我有將近2000個文件,需要重命名。

這些文件以以下格式命名:PART1#PART2#PART3.pdf

我想批量重命名文件,以便將PART2移到PART1之前,例如PART2#PART1#PART3.pdf

PART 1 = A random document reference e.g. 124244
PART 2 = A reference number e.g. 12-12434-A
PART 3 = A short description e.g. Part 1

#符號將這些部分分開。

有沒有可以用來進行此更改的簡單實用程序?

使用批處理文件

@echo off
    setlocal enableextensions disabledelayedexpansion

    cd /d "c:\where\thefiles\are"

    for /f "tokens=1,2,* delims=#" %%a in ('
        dir /b /a-d *.pdf ^| findstr /r /b /e /i /c:"[^#][^#-]*#[^#][^#]*#..*\.pdf"
    ') do echo ren "%%a#%%b#%%c" "%%b#%%a#%%c"

該代碼的作用是

  1. 獲取文件列表: dir命令以無文件夾的裸格式請求.pdf文件

  2. 進行篩選以僅獲取關聯的文件: findstr命令,搜索與行的開頭和結尾匹配的正則表達式,忽略大小寫。 針對文件名測試的表達式為:非#字符,后跟非#-字符序列(以避免兩次重命名文件),后跟# ,后跟非#和非序列#字符,后跟#和以.pdf結尾的任何字符序列

  3. for命令使用#作為令牌定界符來分割名稱,並為每個名稱進行重命名。

重命名操作僅回顯到控制台。 如果輸出正確,請刪除echo命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM