Batch: Programm mit Paramter starten

  • geschlossen

  • alexanderk.
  • 5504 Aufrufe 5 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Batch: Programm mit Paramter starten

    Hey,
    ein Programm aus einer Batch-Datei zu starten, müsste im Allgemeinen wie folgt funktionieren:
    start "" "programm.exe" -decrypt input output passwort


    Wenn ich aber dieses spezielle Programm auf der Kommandozeile aufrufe, muss ich eingeben:

    programm input output decrypt passwort


    Hat sich etwas geändert beim Aufruf in der Batch-Datei? Irgendwie geht es nicht mit
    start "" "programm.exe" -input output decrypt passwort

    Es gibt ja keine wirklichen Parameter die per "-" oder "/" aufgerufen werden.

    Danke für eure Hilfe!

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von alexanderk. ()

  • Lass doch das erste "" weg, wenn du dem neuen Fenster eh keinen Titel geben willst. Laut der Hilfe von start darfst du vor den Parametern kein - setzen. Probier mal das:

    Quellcode

    1. start "programm.exe" input output decrypt passwort


    Was genau passiert denn? Kriegst du eine Fehlermeldung? Wird das Programm nicht gestartet, oder meldet es falsche Parameter? Hat das Programm schon mal richtig mit diesen Parametern funktioniert?

    Gruß

    FeliX_22
  • Aha, danke!
    Jetzt funktioniert es mit ohne "-" oder "/".

    D.h. es sind mehrere Parameter, denn sonst:
    Wenn nun mehrere "Mehrwort"-Parameter übergeben werden, dann kann aber cmd das gar nicht unterteilen, sodass dann das Ganze als ein einziger Parameter an das Programm übergeben wird, das das dann aufsplitten muss...
    Somit sind sowohl input, output, decrypt und passwort jeweils Parameter, wo die Reihenfolge wichtig ist.
  • Fürs nächste Mal: Die Antwort ergibt sich schon daraus, dass du die Hilfe genau ansiehst:

    Quellcode

    1. C:\Windows\system32>start/?
    2. Startet ein eigenes Fenster, um ein bestimmtes Programm oder einen Befehl
    3. auszuführen.
    4. START [[COLOR='Red'][B]"[/B][/COLOR]Titel[COLOR='Red'][B]"[/B][/COLOR]] [[COLOR='Red'][B]/[/B][/COLOR]D Pfad] [[COLOR='Red'][B]/[/B][/COLOR]I] [[COLOR='Red'][B]/[/B][/COLOR]MIN] [/MAX] [/SEPARATE | /SHARED]
    5. [/LOW [COLOR='Red'][B]|[/B][/COLOR] /NORMAL | /HIGH | /REALTIME] | /ABOVENORMAL | /BELOWNORMAL]
    6. [/NODE <NUMA-Knoten>] [/AFFINITY <Hex.-Affinitätsmaske>] [/WAIT] [/B]
    7. [Befehl/Programm]
    8. [COLOR='Red'][B][Parameter][/B][/COLOR]
    9. [COLOR='Red'][B]"[/B][/COLOR]Titel[COLOR='Red'][B]"[/B][/COLOR] Der Titel des neuen Fensters.
    10. [...]
    11. Parameter Dies sind die an den Befehl oder das Programm übergebenen
    12. Parameter.
    Alles anzeigen


    Die Klammern [] bedeuten optional und die Pipe | bedeutet entweder oder. Wenn du dir den Parameter [Parameter] anschaust, fällt dir auf, dass da kein / davor steht, wie bei einigen anderen Parametern. So einfach ist das :)

    Du widersprichst dir hier, und es ist beides richtig: :)

    alexanderk. schrieb:

    Wenn nun mehrere "Mehrwort"-Parameter übergeben werden, dann kann aber cmd das gar nicht unterteilen, sodass dann das Ganze als ein einziger Parameter an das Programm übergeben wird, das das dann aufsplitten muss...
    Somit sind sowohl input, output, decrypt und passwort jeweils Parameter, wo die Reihenfolge wichtig ist.


    Für start ist [Parameter] nur ein optionaler Parameter, das Leerzeichen enthält. Dein Batch-Programm trennt die Parameter durch Leerzeichen. Hier ist die Reihenfolge wichtig, weil in Batch-Dateien die Parameter mit $1, $2, usw. angesprochen werden.

    Erledigt? Präfix umstellen!

    Gruß

    Felix_22

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von FeliX_22 ()