Batch Start Befehl.exe funktioniert/ Befehl.exe nicht

o0Julia0o

Commander
Registriert
Dez. 2012
Beiträge
2.738
hey,

folgender Befehl wird ausgeführt:
start iperf3.exe -c speedtest.serverius.net -p 5002

folgender nicht.
iperf3.exe -c speedtest.serverius.net -p 5002

Jedoch wird der 1. Befehl in einem Extra-Fenster ausgeführt, was nicht so sein soll. Wie kann ich den Befehl jetzt in der Batch ganz normal ausühren?

Problem ist gelöst :)
https://www.computerbase.de/forum/t...niert-befehl-exe-nicht.2127419/#post-27815457
 
Zuletzt bearbeitet:
Danke, das ist ja kompliziert mit powershell. Normal tut das mit Batch auch. Aber der Befehl wird einfach nicht ausgeführt ohne "start" davor.
 
Was genau passiert denn und wie sieht die ganze Batchdatei aus?
 
  • Gefällt mir
Reaktionen: o0Julia0o
start brauchst du bei batch halt um anwendungen zu starten. dsa das im neuen fenster ist doch nicht tragisch. Der macht dann seine messung. -c ist client mode
 
  • Gefällt mir
Reaktionen: o0Julia0o
Jo, das ist ein öffentlicher Server wo der Server von iperf3 drauf läuft. Auf meinem PC läuft dann der Client.

So sieht die Batch-Datei aus:

Code:
iperf3.exe -c speedtest.serverius.net -p 5002
pause

Es passiert nichts. Es sei denn ich setze ein "start" vor die 1. Zeile. Dann wird ein Extra-CMD-Fenster geöffnet und dort wird der Befehl ausgeführt.

Tja - und jetzt funktionierte er auch inder Batch ohne Start. Komisch - naja.
 
Das ist nur der Start der Batchdatei - also der Test, ob der Befehl überhaupt wie gewünscht funktioniert. Darum wird jetzt noch etwas gebaut, z.B. Wiederholungen (und entsprechenden Uploadtest) & Ausgaben in unterschiedliche Dateien.

Eintippen ist da auch aufwändiger, selbst, wenn es nur bei einer Zeile bliebe. Wenn ich das öfter brauche, kann ich das dann einfacher ausführen.

Mit Powershell kenn ich mich nicht aus. Es ist aber sicherlich 5x komplexer, aber auch 10x komplizierter.

Das mit dem F7 klicken klappt bei mir nicht. Da öffnet sich kein Menü. Auch wenn ich F7 über 10 Sekunden lang gedrückt halte über dem CMD-Fenster.
 
o0Julia0o schrieb:
Eintippen ist da auch aufwändiger, selbst, wenn es nur bei einer Zeile bliebe. Wenn ich das öfter brauche, kann ich das dann einfacher ausführen.
alias in den Path legen und gut ist

o0Julia0o schrieb:
also der Test, ob der Befehl überhaupt wie gewünscht funktioniert.
das wuerde man so machen:

WHERE mycommand IF %ERRORLEVEL% NEQ 0 ECHO mycommand wasn't found

o0Julia0o schrieb:
Es ist aber sicherlich 5x komplexer, aber auch 10x komplizierter.
deutlich simpler, moderner und weniger fallstricke. Was dir verlinkt wurde sind vernuenftige, parametriesierbare skripte, die du dann da wo du sie brauchst aufurufen kannst.
 
  • Gefällt mir
Reaktionen: o0Julia0o
Ich habe mal eine ganz doofe Frage: Liegt iperf3 im PATH? Und hast du an der PATH-Variable rumgespielt?

Ich gehe davon aus (Annahme), dass "start" dafür sorgt, dass es die neuen Systmeumgebungsvariablen bekommt. Klickst du im Explorer die Batch-Datei doppelt an oder rufst sie von einer Kommandozeile auf, die noch die alten Umgebungsvariablen hat, dann bekommt die Batch-Datei eben auch die alten.

Was ergibt denn "where iperf3" ? [nicht whereis]

Edit:
Ansonsten: was heißt "es passiert nichts"? Greift das pause?

Edit2:
Aber grundsätzlich würde ich auch über die PowerShell nachdenken, ja, natürlich ist es am Anfang mehr Aufwand, aber Batch war auch Aufwand zu lernen... und die Aufwände amortisieren sich halt irgendwann.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Raijin, o0Julia0o und madmax2010
Keine Ahnung, wo die Aliase gespeichert werden. Aber wenn die nach einer Windows-Neuinstallation futsch sind, dann würde ich das nicht nutzen.

Ich springe ja recht fix zu meinem Ordner mit der Batch & Doppelklicke sie dann. Wenn ich sie ganz häufig nutze, kommt sie in die Schnellstartleiste oder auf den Desktop als Verknüpfung.

Jo, genau, wenn ich Errorlevel benötige, die ich dann weiterverwerte mache ich das auch so. Aber zum Test ob der Befehl läuft, war das jetzt nicht notwendig. Ich weiß ja, was das Programm tut, wenn der Befehl korrekt ausgeführt wird.

Parametriesierbar ist ein Batchprogramm doch ebenfalls.

Und aufrufen kann ich eine Batch auch, wo ich sie brauche. Man kann den Ausführungsort ja in der Batch definieren. Oder was meinst du mit "Wo du sie brauchst"?

Deutlich simpler? Wie sieht denn der Befehl aus, welcher analog zur Batch das hier in Powershell macht?
Code:
iperf3.exe -c speedtest.serverius.net -p 5002

tollertyp schrieb:
Liegt iperf3 im PATH? Und hast du an der PATH-Variable rumgespielt?
Ja, es liegt dort. Habe auch mit einem vorrangestellten DIR geguckt, ob der Befehl an der richtigen Stelle ausgeführt wird. Aber es funktioniert inzwischen. Ich weiß nicht, warum das vorher nicht funktioniert hat. Pause griff auch nicht.

tollertyp schrieb:
Aber grundsätzlich würde ich auch über die PowerShell nachdenken, ja, natürlich ist es am Anfang mehr Aufwand, aber Batch war auch Aufwand zu lernen... und die Aufwände amortisieren sich halt irgendwann.
Für einen Programmiere ist Powershell sicherlich einfacher. Ich kann überhaupt nicht programmieren. Ich kann auch kein Batch. Das sind ganz simple Befehle, die ich ausführen kann. Ich wäre mit beidem überfordert. Der eine kann besser Sprachen lernen, der andere Mathe, der nächste Programmieren. Ich nutze Batch halt nur um simple Abfolgen von Programmen(keines davon selbst geschrieben) zu tätigen. Hier und da mal einen Rückgabewert einbauen um in einen anderen Strang zu springen. Es wird immer von solchen Sprüngen abgeraten - aber für Nichtprogrammierer ist das halt die einzige Möglichkeit. Mein aufwändigstes Programm, was ich jeh geschrieben habe war cout hello world;
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: tollertyp
Nein, es funktionierte dann einfach, wie von vornerein getestet.
 
Zurück
Oben