Im Moment sieht meine Batch-Datei folgendermaßen aus:
myprogram.exe param1
Das Programm startet, aber das DOS-Fenster bleibt geöffnet. Wie kann ich es schließen?
windows
batch-file
Herr Dev
quelle
quelle
Antworten:
Sie können das Schlüsselwort exit verwenden. Hier ist ein Beispiel aus einer meiner Batch-Dateien:
quelle
exit
eine Batch-Datei zu erstellen.start "VPN" "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"
Verwenden Sie den Befehl start, um zu verhindern, dass die Batchdatei auf das Programm wartet. Denken Sie daran, ein leeres Anführungszeichen vor das Programm zu setzen, das Sie nach "Start" ausführen möchten. Wenn Sie beispielsweise Visual Studio 2012 über einen Stapelbefehl ausführen möchten:
Beachten Sie das doppelte Anführungszeichen nach dem Start.
quelle
start <window name> <program name>
Schauen Sie sich den Befehl START an, Sie können dies tun:
Diese Batch-Datei wartet beispielsweise, bis der Editor beendet wird:
Dies wird jedoch nicht:
quelle
Aus meiner eigenen Frage :
funktioniert, wenn Sie das Programm von einer vorhandenen DOS-Sitzung aus starten.
Wenn nicht, rufen Sie ein vb-Skript auf
Die Windows Script Host Run () -Methode verwendet :
Hier ist invis.vbs:
quelle
Dies ist das einzige, was für mich funktioniert hat, als ich versucht habe, eine Java-Klasse aus einer Batch-Datei auszuführen:
start "cmdWindowTitle" /B "javaw" -cp . testprojectpak.MainForm
Sie können den
start
Befehl für Ihr Projekt nach Ihren Wünschen anpassen , indem Sie die richtige Syntax befolgen:quelle
Sie sollten dies versuchen. Es startet das Programm ohne Fenster. Es blinkt tatsächlich für eine Sekunde, verschwindet aber ziemlich schnell.
quelle
"title"
Option ist wichtig. Wenn der Pfad des Programms Leerzeichen enthält, muss er in Anführungszeichen gesetzt werden, daher müssen wir ihn hinzufügen"title"
, um Fehler zu vermeiden.So lösen Sie "Platzprobleme" und lokale Abhängigkeiten:
quelle
Viele Antworten auf diese Frage, aber ich poste dies, um etwas Wichtiges zu klären, obwohl dies möglicherweise nicht immer der Fall ist:
Kann in einigen Windows-Versionen zu Problemen führen, da
Start
erwartet wird, dass der erste Satz von Anführungszeichen ein Windows-Titel ist. Es wird daher empfohlen, zunächst einen Kommentar oder einen leeren Kommentar doppelt zu zitieren:oder
quelle
Meine Lösung dazu über die GUI:
Erstellen Sie eine Verknüpfung zu dem Programm, das Sie ausführen möchten.
Bearbeiten Sie die Eigenschaften der Verknüpfung.
Ändern Sie das
TARGET
Feld in%COMSPEC% /C "START "" "PROGRAMNAME""
;Ändern Sie das
RUN
Feld in minimiert.Bereit! Sehen Sie, wie es Ihnen gefällt ...
PS: Programmparameter können zwischen die beiden letzten Anführungszeichen eingefügt werden. Die
PROGRAMNAME
Zeichenfolge kann entweder ein Dateiname, ein relativer oder ein absoluter Pfad sein. Wenn Sie einen absoluten Pfad eingeben und den Laufwerksbuchstaben und das Semikolon löschen, funktioniert dies in einem Thumbdrive, unabhängig davon, welchen Buchstaben der Host-Computer ihm zuweist. (Wenn Sie die Verknüpfung im selben Ordner ablegen und dem ProgrammdateinamenPROGRAMNAME
die%CD%
Variable voranstellen , stimmen die Pfade immer überein. Der gleiche Trick kann imSTART IN
Feld verwendet werden.)quelle
Wenn Sie diese Batchdatei wie geplant oder immer ausführen möchten; Sie können das Windows-Zeitplan-Tool verwenden und es wird beim Starten der Batch-Datei nicht in einem Fenster geöffnet.
Zum Öffnen
Task Scheduler
:'cmd'
taskschd.msc
-> eingeben einKlicken Sie auf der rechten Seite auf
Create Basic Task
und folgen Sie den Menüs.Hoffe das hilft.
quelle
Hier ist meine bevorzugte Lösung. Es wird aus einer Antwort entnommen auf eine ähnliche Frage .
Verwenden Sie ein VBS-Skript, um die Batchdatei aufzurufen:
Kopieren Sie die obigen Zeilen in einen Editor und speichern Sie die Datei mit der Erweiterung .VBS.
quelle