Ich versuche, ein neues Befehlsfenster in einer BAT-Datei zu öffnen:
start %windir%\system32\cmd.exe
Nach dem Öffnen möchte ich im neuen Fenster einen BAT-Befehl ausführen:
echo "test in new window"
Wie kann ich das machen?
quelle
Ich versuche, ein neues Befehlsfenster in einer BAT-Datei zu öffnen:
start %windir%\system32\cmd.exe
Nach dem Öffnen möchte ich im neuen Fenster einen BAT-Befehl ausführen:
echo "test in new window"
Wie kann ich das machen?
Möglicherweise finden Sie Ihre Antwort bereits, weil Sie vor einiger Zeit gefragt haben. Aber ich habe versucht, etwas Ähnliches zu tun, wenn ich ror codiere. Ich wollte "Rails Server" in einem neuen Cmd-Fenster ausführen, damit ich kein neues Cmd öffnen und dann meinen Pfad wiederfinden muss.
Was ich herausgefunden habe, war, den K-Schalter wie folgt zu verwenden:
start cmd /k echo Hello, World!
Start bevor "cmd" die Anwendung in einem neuen Fenster öffnet und "/ K" "echo Hello, World!" nachdem der neue cmd hoch ist.
Sie können den Schalter / C auch für ähnliche Zwecke verwenden.
start cmd /C pause
Dies führt dann "Pause" aus, schließt jedoch das Fenster, wenn der Befehl ausgeführt wird. In diesem Fall, nachdem Sie eine Taste gedrückt haben. Ich fand dies nützlich für "Rails Server". Wenn ich dann meinen Entwicklungsserver herunterfahre, muss ich das Fenster danach nicht mehr schließen.
cmd
. Sie können einfach tippenstart rails s
.Verwenden Sie Folgendes in Ihrer Batch-Datei:
oder
cmd /?
Weitere Informationen finden Sie in der Dokumentation zu cmd.exe .Die korrekte Formatierung der Befehlszeichenfolge wird durch Leerzeichen in den Argumenten etwas komplizierter. Siehe die folgenden Beispiele. Beachten Sie in einigen Beispielen die Verwendung verschachtelter doppelter Anführungszeichen.
Beispiele:
Führen Sie ein Programm aus und übergeben Sie einen Dateinamenparameter:
CMD /c write.exe c:\docs\sample.txt
Führen Sie ein Programm aus und übergeben Sie einen langen Dateinamen:
CMD /c write.exe "c:\sample documents\sample.txt"
Leerzeichen im Programmpfad:
CMD /c ""c:\Program Files\Microsoft Office\Office\Winword.exe""
Leerzeichen im Programmpfad + Parameter:
CMD /c ""c:\Program Files\demo.cmd"" Parameter1 Param2
CMD /k ""c:\batch files\demo.cmd" "Parameter 1 with space" "Parameter2 with space""
Starten Sie demo1 und demo2:
CMD /c ""c:\Program Files\demo1.cmd" & "c:\Program Files\demo2.cmd""
Quelle: http://ss64.com/nt/cmd.html
quelle
Das ist nicht sehr einfach.
Der beste Ansatz besteht darin, den Teil Ihres Skripts, den Sie ausführen möchten, in einem "neuen Fenster" in einer separaten .bat-Datei zu haben. Dies kann unpraktisch sein, wenn Sie beispielsweise vom Rest Ihres Skripts (Variablen usw.) viel Status benötigen. Eine Möglichkeit besteht darin, alle benötigten Werte (z. B. das Verzeichnis, in dem gearbeitet werden soll) an die Batchdatei zu übergeben:
Wenn Sie eine große Menge an Status übertragen müssen, können Sie zur Laufzeit eine Batchdatei generieren:
Offensichtlich ist dies ein triviales Beispiel.
quelle
Die obigen Antworten haben mir geholfen. Aber es musste noch etwas herausgefunden werden. Hier ist ein Beispielskript, mit dem ich 3 Prozesse für die Webentwicklung starte. Dies führt dazu, dass 3 Fenster geöffnet bleiben, da sie kontinuierlich ausgeführt werden müssen.
Mongo wird global zu meinem Pfad hinzugefügt, sodass ich nicht wie bei den beiden anderen Programmen eine CD erstellen muss. Natürlich wird der Pfad zu Ihren Dateien variieren, aber hoffentlich hilft dies.
quelle
Vielen Dank an alle hier in Stack Overflow; Diese Lösung löst die obige Frage, wird jedoch erweitert, um die folgenden Aufgaben automatisch auszuführen:
Ich denke mein Projekt heißt "Antiquorum".
Erstellen Sie eine "init.bat" -Datei in Ihrem % USERPROFILE% -Verzeichnis (öffnen Sie ein cmd- Fenster und sehen Sie sich den Pfad links neben dem Cursor an, um zu erfahren, was% USERPROFILE% ist.)
Geben Sie in einem neuen Befehlszeilenfenster Folgendes ein: C:> init antiquorum
Der Code öffnet zwei weitere cmd-Fenster und einen Browser. TIMEOUT vermeidet Fehler im Browser.
Der Abschnitt : start erledigt die Arbeit. Sie können die Aufgaben 1, 2 oder 4 separat ausführen, indem Sie die folgenden Parameter eingeben: Server , Worker oder Keine, um eine Cmd im Stammverzeichnis des "Antiquorum" -Projekts geöffnet zu lassen .
Genießen.
quelle
Wenn ich verstehe, dass Sie dies nebenbei richtig machen, öffnet Ihre Bat-Datei die Eingabeaufforderung und druckt Ihre Nachricht auf dem Bildschirm.
hoffe das hilft.
quelle
So führen Sie eine Python-Datei in einem neuen Cmd-Fenster mit Leerzeichen im Dateinamen aus:
quelle
Durch Hinzufügen zwischen zwei Befehlen werden beide Befehle ausgeführt .
/k
in order
Beispiel:
dieser Befehl wird zuerst öffnen
command prompt
dann ausführenecho "hello"
Befehlquelle