Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 39

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

  1. #11
    [ultra mobile] Avatar von HQ-LQ
    Registriert seit
    18. February 2004
    Ort
    am Arsch der Welt
    Alter
    33
    Beiträge
    2.631

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

    ich glaub da musst du ne prüfroutiene für "%~1" einbauen.

    wenn du nicht in "%~1" wechseln kannst, dann ist es eine datei und du musst nach "%~dp1" wechseln,
    sonnsten mit "%~1"
    if () else ()

    und dann mit "%~nx1" die dateien weiter verarbeiten,
    bzw. mit einer forschleife erstmal die ganzen dateien ermitteln...

    viel spaß...

    edit:
    hier mein altes verzeichnis-prüf-script:
    Code:
    @echo off
    cd /d "%~dp1" 2>nul
    cd /d %1 2>nul
    
    set x1="%~1"
    set x2="%cd%"
    set x3="%~dp1"
    set x
    
    if     "%~1"=="" 	goto :err
    if     "%~1"=="%CD%" 	goto :dir
    if not "%~1"=="%CD%" 	goto :file
    goto :err
    
    :dir
    echo.is dir
    goto :end0
    
    :file
    echo is file
    goto :end0
    
    :err
    echo.err
    goto :end0
    
    :end0
    pause
    das ist 7 jahre alt, das kann man sicherlich noch optimieren... ^^

    und die forschleife (10 jahre alt):
    Code:
    set DropName=%~n1
    echo (0) droppd File:
    echo '%DropName%'
    echo.
    
    
    :Video
    for /F "delims=" %%a in ('dir "%DropName:~0,-10%*.ogm" /B /A-D /os') DO set VideoName=%%a
    Geändert von HQ-LQ (15. September 2017 um 15:58 Uhr)
    ~Jäger und Sammler~ [0001 0110]
    meine Scripte: MPack/DriveSnapshot:Cln&Bak/SuRun:ShellExt.

  2. #12
    Kaiser
    Registriert seit
    6. July 2009
    Beiträge
    1.293

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

    Mein Skript müßte man dafür stark überarbeiten. Es durchsucht halt keine Ordner, sondern nimmt eine Liste an Dateien. Habe im Moment keine Zeit/Lust, das Teil komplett umzubauen. Sollte aber im Prinzip nicht soo schwer sein. Müßte man eine for-Schleife drumherumsetzen.

    @Neugier
    Dir ist das mit der Liste klar? Also, daß man mehrere .mkv-Dateien markieren und per Drag&Drop draufschieben kann und die der Reihe nach abgearbeitet werden?

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

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

    Zitat Zitat von sneaker2 Beitrag anzeigen
    Dir ist das mit der Liste klar? Also, daß man mehrere .mkv-Dateien markieren und per Drag&Drop draufschieben kann und die der Reihe nach abgearbeitet werden?
    Ja, das ist mir klar... Leider sind meine Filme einzeln in Ordnern!
    Was das draufschieben erschwert, da ich jeden Ordner einzeln öffnen muss um an die MKV-Datei zu kommen.


    Zitat Zitat von HQ-LQ Beitrag anzeigen
    ich glaub da musst du ne prüfroutiene für "%~1" einbauen.
    wenn du nicht in "%~1" wechseln kannst, dann ist es eine datei und du musst nach "%~dp1" wechseln,
    sonnsten mit "%~1"
    if () else ()

    und dann mit "%~nx1" die dateien weiter verarbeiten,
    bzw. mit einer forschleife erstmal die ganzen dateien ermitteln...

    viel spaß...
    Danke für dein Scrip! Ich hatte auch viel spaß damit...
    Bis ich gemerkt habe, dass ich überhaupt nicht durchblicke.
    Egal was ich zusammen gebaut habe, es war ohne Sinn und Versand...
    Langsam merke ich mein Alter, neugier ist vorhanden,
    bloß das Wissen und Verständnis nicht.

    Aber eins weiß ich, dass ich das Script nicht alleine
    bewerkstelligt bekomme... Wäre dankbar wenn sich jemand
    erbarmt und mir helfen könnte das Script fertig zu stellen.

  4. #14
    [ultra mobile] Avatar von HQ-LQ
    Registriert seit
    18. February 2004
    Ort
    am Arsch der Welt
    Alter
    33
    Beiträge
    2.631

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

    man müsste es schon zu beginn modular gestalten :block/goto (:eof)/call,
    so hat man einen besseren überblick über die codeblöcke.
    man kann es auch ein andere .cmd dateien auslagern... je nach wunch der komlexität... XD
    Geändert von HQ-LQ (22. September 2017 um 17:34 Uhr)
    ~Jäger und Sammler~ [0001 0110]
    meine Scripte: MPack/DriveSnapshot:Cln&Bak/SuRun:ShellExt.

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

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

    Ich habe das Script gefunden...

    Was auch scheinbar mit Ordnern geht. Es lassen sich aber irgendwie keine Befehle hinzufügen ohne dass es abschmiert.

    Code:
    @echo off
    setlocal enableDelayedExpansion
    
    set mkvmerge="C:\Programme\MKVToolNix\mkvmerge.exe"
    
    for /d %%D in (*) do (
        pushd %%D
        set files=
        for %%F in (*.mkv) do set files=!files! + ^( "%%F" ^)
        if not "!files!"=="" %mkvmerge% -o "output.mkv" !files:~2!
        popd
    )
    pause
    @HQ-LQ
    danke für deine Codes, leider komme ich damit nicht klar... Bin ein Newbie in diesem Gebiet

    Zitat Zitat von sneaker2 Beitrag anzeigen
    Dir ist das mit der Liste klar? Also, daß man mehrere .mkv-Dateien markieren und per Drag&Drop draufschieben kann und die der Reihe nach abgearbeitet werden?
    Ja, das ist mir klar... Leider sind meine Filme einzeln in Ordnern,
    was das draufschieben erschwert. Da ich jeden Ordner einzeln öffnen muss um an die MKV-Datei zu kommen.
    Geändert von Neugier (21. September 2017 um 20:29 Uhr)

  6. #16
    [ultra mobile] Avatar von HQ-LQ
    Registriert seit
    18. February 2004
    Ort
    am Arsch der Welt
    Alter
    33
    Beiträge
    2.631

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

    eigendlich müsstest du nach %mkvmerge% (Z:10) die optionsschalter setzen können.

    du könntest das script aber auch so modifizieren,
    indem du eine %variable% einbaust.
    so brauchst du diese nur noch diese manipulieren
    und brauchst dich nicht mehr durch den code hangeln.

    der schalter -v hab ich nur als beispiel reingesetzt,
    verbose: detaliertere ausgabe

    Code:
    @echo off
    setlocal enableDelayedExpansion
    
    set mkvmerge="C:\Programme\MKVToolNix\mkvmerge.exe"
    set "commands=-v"
    
    for /d %%D in (*) do (
        pushd %%D
        set files=
        for %%F in (*.mkv) do set files=!files! + ^( "%%F" ^)
        if not "!files!"=="" %mkvmerge% %commands% -o "output.mkv" !files:~2!
        popd
    )
    pause
    wie du siehst "klammer=ich" die variablen anders,
    so werden leerzeichen, besonders in einem pfad-namen besser verarbeitet.
    dateinamen variablen müssen aber daduch immer mit "" eingeklammert werden: "%Dateiname%"


    im script gibt es "setlocal enableDelayedExpansion"
    ich habe es nie 100%-ig verstanden.
    erst wenn ich gegen eine wand gelaufen bin habe ich es aktiviert,
    sonnst habe ich es zuerst immer ohne gescriptet.

    bzw., hab was drumrum gebastelt... XD

    hier darfst du es aber nicht entfernen,
    da die !variablen! anders verarbeitet werden.

    -

    ich persönlich, 98% der läute sind da anderer meinung,
    finde absätze in einem befehl ungünstig.
    da überseh ich gern zusammenhang.
    ich bin ein one-liner und "(klammer)" dafür lieber etwas mehr...

    -

    wow,
    setlocal enableDelayedExpansion wird warscheinlich nur gesetzt,
    um pushd besser verwenden zu können.
    da ich gern pfade in mehreren %variablen% speichere,
    so brauchte ich den spaß nie, so muss man auch nicht die !variable! anders aufrufen.
    (was probleme mit dateinemen verursachen kann, welche ein !-zeichen haben.)

    ich habe mal die variablen anders eingeklammert,
    kannst ja mal sagen ob das was gebracht hat.

    Code:
    @echo off
    setlocal enableDelayedExpansion
    
    set "mkvmerge=C:\Programme\MKVToolNix\mkvmerge.exe"
    set "commands=-v"
    
    for /d %%D in (*) do (
        pushd %%D
        set files=
        for %%F in (*.mkv) do set "files=!files!" + ^( "%%F" ^)
        if not "!files!"=="" "%mkvmerge%" %commands% -o "output.mkv" !files:~2!
        popd
    )
    pause
    wie sieht denn ein verzeichnispfad + dateiname bei dir aus?
    es gibt immerwieder wechselwirkungen mit:
    - leerzeichen
    - sonderzeichen
    - sonderzeichen die das script selbst verwendet
    - äöüß kennt der ansi-zeichensatz nicht...
    - unicode
    Geändert von HQ-LQ (21. September 2017 um 21:18 Uhr)
    ~Jäger und Sammler~ [0001 0110]
    meine Scripte: MPack/DriveSnapshot:Cln&Bak/SuRun:ShellExt.

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

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

    @HQ-LQ danke für deine Hilfe! Geht anscheinend...
    Mal schauen ob ich das Script von @sneaker2 komplett
    integriert bekomme. Andernfalls melde ich mich nochmal.

    Code:
    @echo off
    setlocal enableDelayedExpansion
    
    set mkvmerge="C:\Programme\MKVToolNix\mkvmerge.exe"
    set "commands=-a !2"
    
    for /d %%D in (*) do (
        pushd %%D
        set files=
        for %%F in (*.mkv) do set files=!files! + ^( "%%F" ^)
        if not "!files!"=="" %mkvmerge% %commands% -o "output.mkv" !files:~2!
        popd
    )
    pause
    Edit: Der neue Code von Dir funktioniert nicht...

    Zitat Zitat von HQ-LQ Beitrag anzeigen
    Code:
    @echo off
    setlocal enableDelayedExpansion
    
    set "mkvmerge=C:\Programme\MKVToolNix\mkvmerge.exe"
    set "commands=-v"
    
    for /d %%D in (*) do (
        pushd %%D
        set files=
        for %%F in (*.mkv) do set "files=!files!" + ^( "%%F" ^)
        if not "!files!"=="" "%mkvmerge%" %commands% -o "output.mkv" !files:~2!
        popd
    )
    pause
    wie sieht denn ein verzeichnispfad + dateiname bei dir aus?
    es gibt immerwieder wechselwirkungen mit:
    - leerzeichen
    - sonderzeichen
    - sonderzeichen die das script selbst verwendet
    - äöüß kennt der ansi-zeichensatz nicht...
    - unicode
    Sieht in etwa so aus.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	dfffd.png 
Hits:	5 
Größe:	24,3 KB 
ID:	99405

    Edit: Die Optionsschalter funktionieren leider auch nicht so wirklich, er löscht zwar mit dem Befehl set "commands=-a !2 eine Tonspur, aber nicht die er soll.
    Geändert von Neugier (21. September 2017 um 21:39 Uhr)

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

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

    So habe es hinbekommen...
    Ich denke es ist nicht die sauberste Lösung, aber es funktioniert.
    Es werden alle Mediadateien im MKV-Format verarbeitet die im Ordner
    auf dem Destop liegen. Unterordner ausgeschlossen, außer man ergänzt
    den Code durch folgenden: for /d /r %%D in (*) do (

    Code:
    @echo off
    setlocal enableDelayedExpansion
    
    set mkvmerge="C:\Programme\MKVToolNix\mkvmerge.exe"
    set "audio=-a !ger"
    set "untertitel=-s !ger"
    
    for /d %%D in (*) do (
        pushd %%D
        set files=
        for %%F in (*.mkv) do set files=!files! + ^( "%%F" ^)
        if not "!files!"=="" %mkvmerge% %audio% %untertitel% -o "neu/%~n1.mkv" !files:~2! && del !files!  
        popd
    )
    pause
    Geändert von Neugier (22. September 2017 um 10:18 Uhr)

  9. #19
    [ultra mobile] Avatar von HQ-LQ
    Registriert seit
    18. February 2004
    Ort
    am Arsch der Welt
    Alter
    33
    Beiträge
    2.631

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

    mit lösch befehlen in scripten sollte man vorsichtig sein,
    wenn mkvmerge abstürzt, dann läuft das script gnadenlos weiter
    und löscht deine dateien.

    ggf. könnte man den errorlevel ausweten,
    oder eine eigene prüftoutine einbauen...
    ~Jäger und Sammler~ [0001 0110]
    meine Scripte: MPack/DriveSnapshot:Cln&Bak/SuRun:ShellExt.

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

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

    Zitat Zitat von HQ-LQ Beitrag anzeigen
    ggf. könnte man den errorlevel ausweten,
    oder eine eigene prüftoutine einbauen...
    Ja, das wäre mit sicherheit die elegantere Lösung...

    Wie es aussieht, funktioniert die Namen übergabe mit dem
    Code "neu/%~n1.mkv" auch nicht so richtig. Er übernimmt
    jedes mal den Namen von einem Ordner und haut ihn auf
    alle MKV-Dateien die verrabeit werden...
    Geändert von Neugier (22. September 2017 um 10:23 Uhr)

Seite 2 von 4 ErsteErste 1234 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
  •