Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 39

Thema: Zwei Batch Befehle nacheinander ausführen...

  1. #1
    Jungspund
    Registriert seit
    28. August 2017
    Beiträge
    17

    Standard Zwei Batch Befehle nacheinander ausführen...

    Hey Leute, ich komme nicht weiter!
    Ich habe hier ein Script mit zwei befehlen die nacheinander eine MKV Datei abarbeiten und die Datei mit Untertiteln versehen und eine Tonspur löscht. Wie es aussieht funktioniert das Skript nicht wie es sollte, es werden immer zwei Dateien erstellt, einmal mit Untertitel und die andere ohne Tonspur, aber nie beides zusamen in einer Datei?! Es wäre schön wenn jemand der Ahnung hat ein Tipp oder eine Lösung hätte.

    Code:
                SET mkvmerge="C:\Programme\MKVToolNix\mkvmerge.exe"
                 
                PUSHD %~dp1
                if [%1]==[] goto :eof
                mkdir neu
                :loop
                %mkvmerge% -o "%~dp1\neu\%~n1.mkv" -a !2 %1           
                call :Subtitle %1
                shift
                if not [%1]==[] goto loop         
     
                :Subtitle
                for %%A IN (*.mkv) do (                 
                if exist "%%~nA.srt" ("C:\Programme\MKVToolNix\mkvmerge.exe"  -o "remux-%%~nxA" "%%~A" "%%~nA.srt" & del "%%~nA.mkv" "%%~nA.srt")      
                  echo 
                )
            exit

  2. #2
    Erklär-Bär Avatar von LigH
    Registriert seit
    19. April 2003
    Ort
    OPAL-Invalidengebiet Altmark
    Alter
    42
    Beiträge
    42.498

    Standard AW: Zwei Batch Befehle nacheinander ausführen...

    So richtig damit auskennen ... nicht unbedingt. Aber nach diesem Beispiel sind Klammern wohl nicht nötig, wenn's eh in eine Zeile passt (eher zur Gruppierung mehrerer Zeilen untereinander).

    Und nach diesem Wiki könnte es nützlich sein, das doppelte && zu verwenden, damit nur gelöscht wird, wenn das vorherige mkvmerge nicht fehlerhaft arbeitet. (Ich nehme an, du würdest dafür auch die Variable %mkvmerge% verwenden, statt nochmal den vollen Pfad zu schreiben.)

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten




  3. #3
    Jungspund
    Registriert seit
    28. August 2017
    Beiträge
    17

    Standard AW: Zwei Batch Befehle nacheinander ausführen...

    Danke für deine schnelle Antwort, aber ich glaube wir reden aneinander vorbei
    Das Script funktioniert ja, aber nicht so wie ich es möchte...
    Sagen wir mal so, ich habe eine Videodatei im Mkv-Format
    und eine Untertiteldatei im .srt Format die ich integrieren will,
    dafür ist der Code verantwortlich:
    Code:
    for %%A IN (*.mkv) do (
          if exist "%%~nA.srt" ("C:\Programme\MKVToolNix\mkvmerge.exe" -o "remux-%%~nxA" "%%~A" "%%~nA.srt" & del "%%~nA.mkv" "%%~nA.srt")
          echo 
        )
    Und der Abschnitt im Script, entfernt die zweite Tonspur in der Videodatei (in mein Fall eine englische Tonspur).
    Code:
    SET mkvmerge="C:\Program Files\MKVToolNix\mkvmerge.exe"
    
    PUSHD %~dp1
    if [%1]==[] goto :eof
    mkdir remux
    :loop
    %mkvmerge% -o "%~dp1\remux\%~n1_eng.mkv" %1 --compression 1:none --compression 2:none --track-order 0:0,0:2,0:1
    
    
    shift
    if not [%1]==[] goto loop
    Einzeln voneinander funktionieren die Batch Befehle wunderbar, aber es sind dann
    immer zwei Arbeitsschritte um eine MKV-Datei zu bearbeiten und bei einer Serie
    mit mehreren Folgen ist das zeitaufwändiger. Ich möchte das die Befehle zusammen
    im Script ablaufen, so dass das Endprodukt eine MKV-Datei ist mit Untertiten und
    ohne die englische Tonspur.

  4. #4
    Kaiser
    Registriert seit
    6. July 2009
    Beiträge
    1.294

    Standard AW: Zwei Batch Befehle nacheinander ausführen...

    Code:
    SET mkvmerge="C:\Program files (x86)\MKVToolNix\mkvmerge.exe"
                 
    PUSHD %~dp1
    if [%1]==[] goto :eof
    :loop
    if exist "%~n1.srt" ( %mkvmerge% -o "neu\%~n1.mkv" -a !2 %1 "%~n1.srt" ) else ( %mkvmerge% -o "neu\%~n1.mkv" -a !2 %1 )
    shift
    if not [%1]==[] goto loop
    
    pause
    (Das automatische Löschen hab ich erst mal weggelassen. Kannst ja testen, ob es klappt und noch entsprechend einfügen.)

    Falls es nicht funktioniert: Ausgabe kopieren und hier einfügen.

  5. #5
    Jungspund
    Registriert seit
    28. August 2017
    Beiträge
    17

    Standard AW: Zwei Batch Befehle nacheinander ausführen...

    Er spuckt jedes mal eine ca 100 kb's Große Mkv-Datei aus, scheint wohl eher die Untertitel-Datei zu sein mit der Endung .mkv

    Edit:

    So gehts, danke sneaker2
    Code:
    SET mkvmerge="C:\Programme\MKVToolNix\mkvmerge.exe"
                 
    PUSHD %~dp1
    if [%1]==[] goto :eof
    :loop
    if exist "%~n1.mkv" ( %mkvmerge% -o "Neu\%~n1.mkv" -a !2 %1 "%~n2.srt" & del "%~n1.mkv" "%~n2.srt" )
    shift
    if not [%1]==[] goto loop
    Geändert von Neugier (28. August 2017 um 20:44 Uhr)

  6. #6
    Kaiser
    Registriert seit
    6. July 2009
    Beiträge
    1.294

    Standard AW: Zwei Batch Befehle nacheinander ausführen...

    Dein Script ist nicht wirklich sinnvoll. Mein Script sollte funktionieren. Du mußt dann die .mkv-Dateien per Drag&Drop draufziehen. Nur(!) die .mkv-Dateien, nicht die .srt-Dateien.

  7. #7
    Jungspund
    Registriert seit
    28. August 2017
    Beiträge
    17

    Standard AW: Zwei Batch Befehle nacheinander ausführen...

    Ah stimmt, hatte vorher beide Dateien raufgezogen

    Gibt es auch eine möglichkeit Untertitel im .idx/.sub Format mit ins Script einzubauen?
    Bekomme das irgendwie nicht hin...

  8. #8
    Kaiser
    Registriert seit
    6. July 2009
    Beiträge
    1.294

    Standard AW: Zwei Batch Befehle nacheinander ausführen...

    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

  9. #9
    Jungspund
    Registriert seit
    28. August 2017
    Beiträge
    17

    Standard AW: Zwei Batch Befehle nacheinander ausführen...

    Wow an alles gedacht, kein weiteres Script von nöten!

    Vielen dank

  10. #10
    Jungspund
    Registriert seit
    28. August 2017
    Beiträge
    17

    Standard AW: Zwei Batch Befehle nacheinander ausführen...

    Hey Leute,
    mit dem Script bin ich bisher sehr zufrieden, es hat mir eine Menge Arbeit abgenommen. Trotz allem positiven, ist mir aufgefallen, wenn ich eine MKV-Datei in einem Ordner habe und diesen Ordner per Drag&Drop raufziehe schließt sich das Fenster sofort und die MKV-Datei wird nicht bearbeitet. Wenn man die MKV-Datei direkt raufzieht ohne Ordner funktioniert das Script anstandslos... Leider ist das ein bisschen umständlich, besonders wenn man mehrere Filme in Ordnern hat. Wäre schön wenn jemand einen Tipp oder eine Lösung hätte.

    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
    Geändert von Neugier (12. September 2017 um 19:07 Uhr)

Seite 1 von 4 123 ... LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. megui nach dem encoding eine batch-datei ausführen lassem
    Von Nel-son im Forum MPEG-4-Encoding-Tools
    Antworten: 4
    Letzter Beitrag: 20. July 2011, 18:15
  2. Womit C1/C2 Fehlerscans ausführen ?
    Von Diet im Forum CD-R Forum
    Antworten: 1
    Letzter Beitrag: 19. April 2010, 01:49
  3. telnet befehle via netcat
    Von LessThanJake im Forum Software-Entwicklung
    Antworten: 3
    Letzter Beitrag: 3. January 2010, 00:53
  4. mIRC Problem bot Befehle wie !help usw funzen nicht
    Von Massaguana im Forum Windows & Applikationen
    Antworten: 0
    Letzter Beitrag: 16. March 2007, 22:30
  5. Skip-Befehle aktivieren, aber wie?
    Von moviejunky im Forum Blu-Ray & DVD-Authoring
    Antworten: 1
    Letzter Beitrag: 9. March 2004, 12:12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •