2013-07-04 34 views
0

我必須重命名一堆文件。他們都在同一個文件夾中。我的想法是通過批處理腳本來完成,但問題是,我必須「分割」原始文件名併爲其指定索引編號。重命名一堆文件並添加一個索引計數器

例如:

Original Filename: XYZ SomeDocument.docx 
New Filename: XYZ 01 SomeDocument.docx 

有誰有一個想法,我怎麼能做到這一點?

+0

做的所有的文件名有相同的語法「的文字空間文本」沒有任何額外的空間?或者是固定長度的第一部分(XYZ)(「xxx sometext」)? – Stephan

+0

是的,所有文件都有相同的語法。而且每個文件的XYZ也是一樣的。 – drummercrm

回答

1
@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" 
) 
+0

謝謝!它運作良好。 – drummercrm

+0

@ user1619655請注意,當您要在該文件夾中重命名超過99個文件時,這將無法正常工作。它也不處理名稱衝突。 –

0

我總是用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 
+0

謝謝你的回答,但是我很抱歉,我沒有被允許爲此使用Python(這是一項工作任務;))。所以它必須是批處理或VB腳本。 – drummercrm