[英]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"
該代碼的作用是
獲取文件列表: dir
命令以無文件夾的裸格式請求.pdf
文件
進行篩選以僅獲取關聯的文件: findstr
命令,搜索與行的開頭和結尾匹配的正則表達式,忽略大小寫。 針對文件名測試的表達式為:非#
字符,后跟非#
或-
字符序列(以避免兩次重命名文件),后跟#
,后跟非#
和非序列#
字符,后跟#
和以.pdf
結尾的任何字符序列
for
命令使用#
作為令牌定界符來分割名稱,並為每個名稱進行重命名。
重命名操作僅回顯到控制台。 如果輸出正確,請刪除echo
命令
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.