Batch: Programm mit Paramter starten geschlossen 

Status
Für weitere Antworten geschlossen.

alexanderk.

Registered +
Registriert
Apr. 2006
Beiträge
84
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!
 
Zuletzt bearbeitet von einem Moderator:
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:

Code:
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
 
Der erste Parameter gibt nur den Namen des CMD Fensters vor. Ist also nicht unbedingt notwendig.
Microsoft beschreibt den start Befehl hier ziemlich genau.
 
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:

Code:
C:\Windows\system32>start/?
Startet ein eigenes Fenster, um ein bestimmtes Programm oder einen Befehl
auszuführen.

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]
[/LOW [COLOR='Red'][B]|[/B][/COLOR] /NORMAL | /HIGH | /REALTIME] | /ABOVENORMAL | /BELOWNORMAL]
[/NODE ] [/AFFINITY ] [/WAIT] [/B]
[Befehl/Programm]
[COLOR='Red'][B][Parameter]

"[/B][/COLOR]Titel[COLOR='Red'][B]"[/B][/COLOR] Der Titel des neuen Fensters.

[...]

Parameter Dies sind die an den Befehl oder das Programm übergebenen
Parameter.

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: :)

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
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten