Batch Mehrere Videodateien in Ordnern verarbeiten

Cholesterin

Cadet 1st Year
Registriert
Aug. 2017
Beiträge
10
Hallo zusammen,
mein Problem ist folgendes... Ich möchte mehere Filme die sich in Ordnern
befinden per Drag&Drop auf das Script raufziehen, so dass sie einzeln abgearbeitet
werden, was auch funktioniert, solange sich die Videodateien nicht in Ordnern
befinden bzw. direkt raufgezogen werden. Bei mehreren Filmen in Ordner ist das
leider ziemlich umständlich wie Ihr euch vorstellen könnt. Wäre um jede Hilfe dankbar.

Code:
SET mkvmerge="C:\Programme\MKVToolNix\mkvmerge.exe"
             
PUSHD %~dp1
if [%1]==[] goto :eof
:loop
if exist "%~n1.srt" ( 
%mkvmerge% -o "neu\%~n1.mkv" -a !2 %1 "%~n1.srt" && del %1 "%~n1.srt"
) else if exist "%~n1.idx" ( 
%mkvmerge% -o "neu\%~n1.mkv" -a !2 %1 "%~n1.idx" && del %1 "%~n1.idx" "%~n1.sub"
) else ( 
%mkvmerge% -o "neu\%~n1.mkv" -a !2 %1 && del %1
)
shift
if not [%1]==[] goto loop

pause
 
Code:
@echo off
rem nötig für das Speichern veränderlicher Variablen in Schleifen; siehe Attribut-String
setlocal enabledelayedexpansion
rem durchlaufe alle Parameter und speichere sie je Durchlauf in %%i
for %%i in (%*) do (
	rem speichere Attribut-String von Verzeichnis/Datei %%i
	set attr=%%~ai
	rem vergleiche erste Stelle von Attribut-String mit "d"; bedeuted, dass %%i ein Verzeichnis ist
	if /i "!attr:~0,1!"=="d" (
		call :sub_folder %%i
	) else (
		call :sub_file %%i
	)
)
rem pausiere weil so vong Chilligkeit her
pause
rem springe ans Datei-Ende; andernfalls werden Sub-Routinen noch einmal ausgeführt
goto :eof

:sub_folder
	rem durchlaufe alle Dateien mit Endung "mkv" in Verzeichnis %1
	for /r %1 %%j in (*.mkv) do (
		call :sub_file "%%j"
	)
	rem beende Sub-Routine
	exit /b

:sub_file
	rem gebe aktuelle Datei %1 aus
	echo %1
	rem beende Sub-Routine
	exit /b
Du kannst in :sub_file deine Merge-Routine reinbasteln. Auf PUSHD kannst du eigentlich verzichten, da du mkvmerge aus jedem Verzeichnis aufrufen kannst. Übergib einfach Laufwerk und Pfad mit den Dateien.
 
Zuletzt bearbeitet: (Leg dir'n Netflix-Abo zu!)

Ähnliche Themen

Antworten
4
Aufrufe
6.867
R
Antworten
14
Aufrufe
4.207
reaper2k11
R
Zurück
Oben