批次重命名影像檔案集

批次重命名影像檔案集

我們使用此處描述的 6 攝影機昆蟲成像設定:https://osf.io/s2p73/

我們工作流程的一部分涉及重命名圖像文件,以便將它們導入到我們的資料庫中。目前,我們透過批量重命名實用程式中的多個「重新命名對」步驟來完成此操作,並且正在尋找可以簡化該過程的單一 DOS 批次檔。映像開始並保留在兩個資料夾中,初始名稱 --> 最終名稱如下。每天,資料夾 1 中最多有 1000 張影像,資料夾 2 中最多有 5000 張影像需要處理。

第一個數字表示樣本(0001/2/3/4/5 等)。下面的粗體數字是唯一的目錄號,需要在重新命名期間轉移到其他 5 個影像,並且目錄號後的最後兩個數字在影像集之間可能不同。

資料夾 1:“已重新命名”

0001_ALICE1-012345678_887856_162658.jpg --> 012345678_887856_162658.jpg

資料夾 2:“附加”

0001_ALICE2.jpg -->012345678_橫向.jpg

0001_ALICE3.jpg -->012345678_additional_1.jpg

0001_ALICE4.jpg -->012345678_additional_2.jpg

0001_ALICE5.jpg -->012345678_additional_3.jpg

0001_ALICE6.jpg -->012345678_additional_4.jpg

下一組圖像將是 0002_etc 並且具有不同的目錄 數位被轉移。任何幫助,將不勝感激!

答案1

  • 使用匹配模式迭代Folder1中的文件
  • 將基本檔名 ( %%F) 拆分為-_部分 ( %%A..%%E)
  • 用於%%C..%%E重新命名 Alice1 文件
  • 用於%%A根據您的方案重命名另一個

在我的 Ramdisk A 上有一個初始的測試資料夾/檔案樹:

> tree a:\ /f
A:\
├───Additional
│       0001_ALICE2.jpg
│       0001_ALICE3.jpg
│       0001_ALICE4.jpg
│       0001_ALICE5.jpg
│       0001_ALICE6.jpg
└───Renamed
        0001_ALICE1-012345678_887856_162658.jpg

該批次檔:

:: Q:\Test\2019\03\30\SU_1419303.cmd
@Echo off
set "Folder1=A:\Renamed"
set "Folder2=A:\Additional"

For /f "delims=" %%F in ('
    Dir /B/S/A-D "%Folder1%\????_Alice?-*_*_*.jpg
') Do For /F "tokens=1-5 delims=-_" %%A in ("%%~nF") DO (
    Echo %%~nxF
    Echo %%A %%B %%C %%D %%E
    Ren "%%~fF" "%%C_%%D_%%E%%~xF"

    Ren "%Folder2%\%%A_ALICE2.jpg"  "%%C_lateral.jpg"     
    Ren "%Folder2%\%%A_ALICE3.jpg"  "%%C_additional_1.jpg"
    Ren "%Folder2%\%%A_ALICE4.jpg"  "%%C_additional_2.jpg"
    Ren "%Folder2%\%%A_ALICE5.jpg"  "%%C_additional_3.jpg"
    Ren "%Folder2%\%%A_ALICE6.jpg"  "%%C_additional_4.jpg"
)

產生這個結果:

> Q:\Test\2019\03\30\SU_1419303.cmd
0001_ALICE1-012345678_887856_162658.jpg
0001 ALICE1 012345678 887856 162658

> tree a:\ /f
A:\
├───Additional
│       012345678_additional_1.jpg
│       012345678_additional_2.jpg
│       012345678_additional_3.jpg
│       012345678_additional_4.jpg
│       012345678_lateral.jpg
└───Renamed
        012345678_887856_162658.jpg

相關內容