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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 309477
Url: https://administrator.de/contentid/309477
Printed on: April 25, 2024 at 23:04 o'clock
3 Comments
Latest comment
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++}}"