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..%%E
zum 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