Verschieben und Umbenennen von Video-Dateien anhand der Nummer im Namen
Hallo,
da ich mich in der Batch Programmierung nicht auskenne, bitte ich um eure Unterstützung.
Ich möcht mit einer Batch-Datei Video-Bilder sortieren. Im Video-Ordner können bis zu 50000 Dateien sein. Sie werden von der Kamera wie folgt ausgegeben.
Blackmagic Cinema Camera_1_2015-09-18_2046_C0001_000001.dng
Blackmagic Cinema Camera_1_2015-09-18_2046_C0001_000002.dng
Blackmagic Cinema Camera_1_2015-09-18_2046_C0001_000003.dng
Die Batch - Datei sollte im Video Datei Ordner ausgeführt werden.
Die ungradzahligen Dateien sollen in einen Unterordner "A" und die gradzahligen in einen Unterordner "B" verschoben werden. Außerdem sollte der Name und die Endung erhalten bleiben, nur die letzten 6 Zeichen sollten dann neu fortlaufend durchnummeriert werden. Zum Beispiel im Ordner A wird 1 zu 1, 3 zu 2, 5 zu 3 usw. umbenannt. In B wird 2 zu 1, 4 zu 2, 6 zu 3 usw.
Ist das mit einer Batch-Datei möglich?
da ich mich in der Batch Programmierung nicht auskenne, bitte ich um eure Unterstützung.
Ich möcht mit einer Batch-Datei Video-Bilder sortieren. Im Video-Ordner können bis zu 50000 Dateien sein. Sie werden von der Kamera wie folgt ausgegeben.
Blackmagic Cinema Camera_1_2015-09-18_2046_C0001_000001.dng
Blackmagic Cinema Camera_1_2015-09-18_2046_C0001_000002.dng
Blackmagic Cinema Camera_1_2015-09-18_2046_C0001_000003.dng
Die Batch - Datei sollte im Video Datei Ordner ausgeführt werden.
Die ungradzahligen Dateien sollen in einen Unterordner "A" und die gradzahligen in einen Unterordner "B" verschoben werden. Außerdem sollte der Name und die Endung erhalten bleiben, nur die letzten 6 Zeichen sollten dann neu fortlaufend durchnummeriert werden. Zum Beispiel im Ordner A wird 1 zu 1, 3 zu 2, 5 zu 3 usw. umbenannt. In B wird 2 zu 1, 4 zu 2, 6 zu 3 usw.
Ist das mit einer Batch-Datei möglich?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 309477
Url: https://administrator.de/forum/verschieben-und-umbenennen-von-video-dateien-anhand-der-nummer-im-namen-309477.html
Ausgedruckt am: 22.04.2025 um 20:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo Foja.Filmer
Sollte machbar sein.
Grüße
rubberman
Sollte machbar sein.
@echo off &setlocal EnableDelayedExpansion
md "A"
md "B"
set /a "nA=1000000, nB=1000000"
for /f "delims=" %%i in ('dir /a-d /b /on *.dng') do (
set "name=%%~ni"
set /a "num=1!name:~-6!, odd=num&1"
if !odd!==1 (
set /a "nA+=1"
move "%%i" "A\!name:~,-6!!nA:~-6!%%~xi"
) else (
set /a "nB+=1"
move "%%i" "B\!name:~,-6!!nB:~-6!%%~xi"
)
)
rubberman

Or
Regards
@echo off
Set "folder=c:\Images"
Set "folderA=c:\Images\A"
Set "folderB=c:\Images\B"
Powershell -executionpolicy bypass -command "gci '%folder%' -Filter *.dng | ?{$_.Basename -match '^(.*?)(\d+)$' } | group {[int32]($matches[2]) %% 2 -eq 0} | %%{if ($_.Name -eq $true){$target = '%folderA%'}else{$target = '%folderB%'}; $cnt = 1; $_.Group | %%{move-item $_.Fullname -Destination {($target + '\' + ($_.Basename -replace '(\d+)$',($cnt.toString().padleft('0',6)) + $_.Extension))}; $cnt++}}"