2017-09-12 105 views
1

讓我們開始解釋我想要做什麼。用批處理文件有條件地重命名文件夾中的文件

我有一個來自相機的照片的文件夾。它們的命名方式如下:DSC_0030.jpg DSC_0030(2).jpg DSC_0031.jpg DSC_0030(2).jpg等等。

當我嘗試瀏覽它們時,這是非常煩人的,因爲(2)的那些來自另一個存儲卡並在以後的日期拍攝。

按日期排序似乎也不起作用。這些照片不是來自我自己的相機,因此我無法將它們重新導入到不同的文件夾。

所以我的想法是這樣的批處理文件,我不知道的語法。

foreach(file in "folderpath") { 
    if (instr(file.name, "(2)")) { 
     file.name = "2 " + file.name; 
    } else { 
     file.name = "1 " + file.name; 
    } 
} 

回答

0

沒有測試

@echo off 
::: set the correct path ::: 
set "photos=c:\photos" 

setlocal enableDelayedExpansion 
for %%a in ("%photos%\*(?).???") do (
    set "filename=%%~na" 
    set "wb=!filename:~0,-3!" 
    set "number=!filename:~-2,-1!" 

    rem :::: remove echo word if file name looks ok ::: 
    echo ren "%%~fa" "!number!-!wb!%%~xa" 

) 
+0

謝謝!工作奇蹟,我學到了新東西! – KaniJonas

相關問題