我必須重命名一堆文件。他們都在同一個文件夾中。我的想法是通過批處理腳本來完成,但問題是,我必須「分割」原始文件名併爲其指定索引編號。重命名一堆文件並添加一個索引計數器
例如:
Original Filename: XYZ SomeDocument.docx
New Filename: XYZ 01 SomeDocument.docx
有誰有一個想法,我怎麼能做到這一點?
我必須重命名一堆文件。他們都在同一個文件夾中。我的想法是通過批處理腳本來完成,但問題是,我必須「分割」原始文件名併爲其指定索引編號。重命名一堆文件並添加一個索引計數器
例如:
Original Filename: XYZ SomeDocument.docx
New Filename: XYZ 01 SomeDocument.docx
有誰有一個想法,我怎麼能做到這一點?
@echo off
setlocal EnableDelayedExpansion
set index=100
for /F "tokens=1*" %%a in ('dir /B /A-D') do (
set /A index+=1
ren "%%a %%b" "%%a !index:~-2! %%b"
)
謝謝!它運作良好。 – drummercrm
@ user1619655請注意,當您要在該文件夾中重命名超過99個文件時,這將無法正常工作。它也不處理名稱衝突。 –
我總是用Python像這樣:)
如任務:
import os
DIR = r'C:\foo'
index = 1
for file_name in os.listdir(DIR):
old_path = os.path.join(DIR, file_name)
split = file_name.split("XYZ")
new_file_name = "XYZ %s %s" % (index, split[1].strip())
new_path = os.path.join(DIR, new_file_name)
os.rename(old_path, new_path)
index += 1
謝謝你的回答,但是我很抱歉,我沒有被允許爲此使用Python(這是一項工作任務;))。所以它必須是批處理或VB腳本。 – drummercrm
做的所有的文件名有相同的語法「的文字空間文本」沒有任何額外的空間?或者是固定長度的第一部分(XYZ)(「xxx sometext」)? – Stephan
是的,所有文件都有相同的語法。而且每個文件的XYZ也是一樣的。 – drummercrm