2015-07-22 115 views
1

我有一個文件包含三張圖片,他們命名爲ape.jpg,123.jpg,zoo.jpg 我想寫一個批處理文件,它可以將所有三張圖片重命名爲數字順序。如何編寫批處理文件以在特定文件夾內以數字順序重命名文件?

ape.jpg -> (1).jpg 
123.jpg -> (2).jpg 
zoo.jpg -> (3).jpg 

我真的不關心那些照片的原始名稱和訂單,我知道這可以在任何版本的Windows通過手動來完成進入該文件夾並選擇所有這些,重命名其中的一個(1),其餘的圖片將自己命名爲數字。但我想用批處理文件來做到這一點。

回答

2

你應該可以用FOR循環和計數器變量來做到這一點。 for將循環輸出dir以獲取文件的完整列表,然後依次重命名它們。

setlocal enabledelayedexpansion 
set i=1 
for /F %%a in ('dir /B *.jpg') do (
    echo ren "%%a" "(!i!).jpg" 
    set /a i+=1 
) 
endlocal 

這使得沒有關於他們出現什麼樣的順序在保證,但它應該在當前目錄下的所有* .jpg文件進行操作。運行它,它會顯示它將使用的重命名命令。要使其實際重命名文件,請在與ren一行之前刪除echo

+0

這種方法(普通'for'命令)可能會導致一些文件被處理(重命名)超過一次,具體取決於重命名文件插入'* .jpg'通配符的位置。爲了避免這個問題,你應該在('dir/B * .jpg')...'中使用'for/F %% a'。 – Aacini

相關問題