MKV Sub und Chapter Entfernung

1085
Kevin Mieszala

Ich versuche, Untertitel und Kapitel aus allen meinen MKV-Dateien zu entfernen. Ich habe versucht, einen Weg zu finden, um die untenstehende Batch-Datei hinzuzufügen, um auch nach Kapiteln zu suchen und sie zu entfernen. Ich konnte jedoch nicht herausfinden, wie die Suchzeile bearbeitet werden kann. Jede Hilfe wird sehr geschätzt.

@echo off cls set rootfolder=C:\ echo Enumerating all MKVs under %rootfolder% echo. for /r %rootfolder% %%a in (*.mkv) do ( for /f %%b in ('mkvmerge -i "%%a" ^| find /c /i "subtitles"') do ( if [%%b]==[0] ( echo "%%a" has no subtitles ) else ( echo. echo "%%a" has subtitles mkvmerge -q -o "%%~dpna (No Subs)%%~xa" -S "%%a" if errorlevel 1 ( echo Warnings/errors generated during remuxing, original file not deleted ) else ( del /f "%%a" echo Successfully remuxed to "%%~dpna (No Subs)%%~xa", original file deleted ) echo. ) ) ) 

Wenn ich den Stapel so umschreibe. Es macht, was ich will, aber es ist schlampig, wenn es zweimal durch die Dateien geht.

@echo off cls set rootfolder="D:\uTorrent\Completed Downloads" echo Enumerating all MKVs under %rootfolder% echo. for /r %rootfolder% %%a in (*.mkv) do ( for /f %%b in ('mkvmerge -i "%%a" ^| find /c /i "subtitles" ') do ( if [%%b]==[0] ( echo "%%a" has no subtitles ) else ( echo. echo "%%a" has subtitles mkvmerge -q -o "%%~dpna (No Subs)%%~xa" -S --no-chapters "%%a" if errorlevel 1 ( echo Warnings/errors generated during remuxing, original file not deleted ) else ( del /f "%%a" echo Successfully remuxed to "%%~dpna (No Subs)%%~xa" ) echo. ) ) ) set rootfolder="D:\uTorrent\Completed Downloads" echo Enumerating all MKVs under %rootfolder% echo. for /r %rootfolder% %%a in (*.mkv) do ( for /f %%b in ('mkvmerge -i "%%a" ^| find /c /i "chapters" ') do ( if [%%b]==[0] ( echo "%%a" has no chapters ) else ( echo. echo "%%a" has chapters mkvmerge -q -o "%%~dpna (No Chapters)%%~xa" -S --no-chapters "%%a" if errorlevel 1 ( echo Warnings/errors generated during remuxing, original file not deleted ) else ( del /f "%%a" echo Successfully remuxed to "%%~dpna (No Chapters)%%~xa" ) echo. ) ) ) pause 
1
Sollte der Suchbefehl nicht auch den Pfad zum Suchen benötigen? Hat es getestet und funktioniert nicht mit dem aktiven Pfad Joey vor 9 Jahren 0
Es ist ziemlich unpraktisch, aber Sie können sie ohne Kapitel oder U-Boote mit [Handbrake] (http://handbrake.fr/) neu codieren. Jonah vor 9 Jahren 0
Beim MKV-Zusammenfügen werden die Untersätze und Kapitel entfernt, aber ich möchte vermeiden, dass sie 1 für 1 manuell ausgeführt werden. Diese Batch-Datei funktioniert perfekt, wenn Sie Subs suchen und entfernen, aber keine Kapitel. Ich kann den Befehl problemlos bearbeiten, um auch Kapitel zu entfernen. Wenn eine MKV-Datei jedoch Kapitel enthält, aber keine Subs mit diesem aktuellen Setup, werden die Kapitel nicht gefunden. Ich habe mein OP mit der aktuell verwendeten Batch-Datei bearbeitet. Vielleicht wirft das mehr Licht auf das Thema. Kevin Mieszala vor 9 Jahren 0

1 Antwort auf die Frage

0
SadBunny

Ich weiß nicht genau, was Sie genau tun wollen, aber ich denke, das kann Ihnen helfen. Mit findstr können Sie nach mehreren Zeichenfolgen (oder regulären Ausdrücken!) Und viel interessanteren Dingen suchen. Ich habe ein Beispiel für Sie geschrieben und getestet:

c:\tmp\findtest>dir /b x.txt y.txt z.txt  c:\tmp\findtest>type x.txt y.txt z.txt  x.txt: "this is x"  y.txt: "this is y"  z.txt: "this is z"  c:\tmp\findtest>findstr /i /r "x y" * x.txt:"this is x" y.txt:"this is y" 

/ edit: und füge gegebenenfalls | hinzu find -c -v "" dazu, wenn Sie sich nur um die Zeilenzahl der findstr-Ausgabe kümmern.