Massenumbenennung von Bilddateisätzen

Massenumbenennung von Bilddateisätzen

Wir verwenden ein hier beschriebenes 6-Kamera-Insektenbildgebungs-Setup:https://osf.io/s2p73/

Zu unserem Workflow gehört auch das Umbenennen der Bilddateien, damit diese in unsere Datenbank importiert werden können. Derzeit erledigen wir dies durch mehrere „Paar umbenennen“-Schritte im Bulk Rename Utility und suchen nach einer einzelnen DOS-Batchdatei, die den Vorgang vereinfachen würde. Die Bilder beginnen und bleiben in zwei Ordnern mit den unten angegebenen Anfangs-->Endnamen. Jeden Tag müssen bis zu 1000 Bilder in Ordner 1 und die entsprechenden 5000 Bilder in Ordner 2 verarbeitet werden.

Die erste Zahl gibt das Exemplar an (0001/2/3/4/5 usw.). Die fettgedruckte Zahl darunter ist die eindeutige Katalognummer, die dann beim Umbenennen auf die anderen 5 Bilder übertragen werden muss, und die letzten beiden Zahlen nach der Katalognummer können zwischen den Bildsätzen unterschiedlich sein.

Ordner 1: „Umbenannt“

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

Ordner 2: „Zusätzlich“

0001_ALICE2.jpg -->012345678_lateral.jpg

0001_ALICE3.jpg -->012345678_additional_1.jpg

0001_ALICE4.jpg -->012345678_zusätzlich_2.jpg

0001_ALICE5.jpg -->012345678_additional_3.jpg

0001_ALICE6.jpg -->012345678_additional_4.jpg

Der nächste Satz Bilder wäre 0002_etc und hätte eine andereKatalog Nummerzu übertragen. Jede Hilfe ist willkommen!

Antwort1

  • Dateien in Ordner1 mit einem passenden Muster iterieren
  • die Basisdateinamen ( %%F) an -und _in Teile ( %%A..%%E) aufteilen
  • %%C..%%Ezum Umbenennen der Datei Alice1 verwenden
  • verwenden Sie %%A, um die anderen nach Ihrem Schema umzubenennen

Mit einem anfänglichen Baum von Testordnern/-dateien auf meiner 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

Diese Batchdatei:

:: 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"
)

ergibt dieses Ergebnis:

> 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

verwandte Informationen