Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

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.604

    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.287

    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
    [ultra mobile] Avatar von HQ-LQ
    Registriert seit
    18. February 2004
    Ort
    am Arsch der Welt
    Alter
    33
    Beiträge
    2.604

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

    man müsste es schon zu beginn modular gestalten :block/goto (:eol)/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
    ~Jäger und Sammler~ [0001 0110]
    meine Scripte: MPack/DriveSnapshot:Cln&Bak/SuRun:ShellExt.

  4. #14
    Grünschnabel
    Registriert seit
    28. August 2017
    Beiträge
    8

    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 (Gestern um 20:29 Uhr)

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

    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 (Gestern um 21:18 Uhr)
    ~Jäger und Sammler~ [0001 0110]
    meine Scripte: MPack/DriveSnapshot:Cln&Bak/SuRun:ShellExt.

  6. #16
    Grünschnabel
    Registriert seit
    28. August 2017
    Beiträge
    8

    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:	2 
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 (Gestern um 21:39 Uhr)

Seite 2 von 2 ErsteErste 12

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
  •