start "" "%SystemRoot%\Notepad.exe"
Behalten Sie den ""
Zwischenstart und Ihren Anwendungspfad bei.
Erklärung hinzugefügt:
Wenn wir ein Programm aus einer Batch-Datei wie unten starten, sehen wir normalerweise die schwarzen Fenster im Hintergrund, wie OP sagte.
%SystemRoot%\Notepad.exe
Dies wurde dadurch verursacht, dass Notepad in derselben Eingabeaufforderung (Prozess) ausgeführt wurde. Die Eingabeaufforderung wird geschlossen, nachdem der Editor geschlossen wurde. Um dies zu vermeiden, können wir den start
Befehl verwenden, um einen separaten Prozess wie diesen zu starten.
start %SystemRoot%\Notepad.exe
Dieser Befehl ist in Ordnung, solange er keinen Platz im Pfad hat. Um Platz im Pfad für alle Fälle zu schaffen, haben wir die "
Anführungszeichen wie folgt hinzugefügt .
start "%SystemRoot%\Notepad.exe"
Das Ausführen dieses Befehls würde jedoch nur eine weitere leere Eingabeaufforderung starten. Warum? Wenn Sie nach dem suchen, erkennt start /?
der start
Befehl das Argument zwischen dem "
als Titel der neuen Eingabeaufforderung, die gestartet werden soll. Um das zu lösen, haben wir den Befehl wie folgt:
start "" "%SystemRoot%\Notepad.exe"
Das erste Argument von ""
ist das Setzen des Titels (den wir als leer setzen), und das zweite Argument von
"%SystemRoot%\Notepad.exe"
ist der auszuführende Zielbefehl (der Leerzeichen im Pfad unterstützt).
Wenn Sie dem Befehl Parameter hinzufügen müssen, fügen Sie sie einfach in Anführungszeichen an, dh:
start "" "%SystemRoot%\Notepad.exe" "<filename>"
javaw
ausführbare Datei verwenden (nicht nurjava
, da dadurchjava
ein weiteresstart "" "javaw" -jar C:\JavaProject\myApp.jar