it-swarm.com.de

Batchdateien: So lassen Sie das Konsolenfenster geöffnet

Ich habe zwei Batchdateien, eine davon führt eine andere aus, d. H.

  1. "Meine Batchdatei"> 2. "Einige andere Batchdatei"

Ich habe eine Verknüpfung der ersten Stapeldatei erstellt und deren Eigenschaften bearbeitet, um sie auf folgende Weise aufzurufen.

cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause

Was ich tun möchte Ich möchte, dass das Konsolenfenster geöffnet ist, nachdem die Ausführung der Batchdatei abgeschlossen ist. Jetzt schließt es einfach, es wurde versucht, um die Cmd-Flags herumzuspielen, kein Ergebnis.

Plattform: Windows7


UPDATE 1

Die Struktur wurde geändert. Das einfache Beispiel funktioniert nicht so gut Es gibt nur eine Batchdatei, d. H. Es gibt keine 2. "Some Other Batch File" Die einzige Batchdatei enthält solche Dateien

start /B /LOW /WAIT make package
cmd /K

UPDATE 2

Dieselbe Verknüpfung, die vom Explorer aus aufgerufen wird, schließt das Konsolenfenster nicht Das Konsolenfenster wird jedoch geschlossen, wenn die Verknüpfung über das angeheftete Element in der Taskleiste aufgerufen wird

Irgendwelche Ideen wie man das Konsolenfenster offen hält? 

99
deimus

Wenn dies wirklich die gesamte Batchdatei ist, entfernen Sie den cmd /K und fügen Sie PAUSE hinzu.

start /B /LOW /WAIT make package
PAUSE

Richten Sie Ihre Verknüpfung dann einfach auf "My Batch File.bat".... Sie müssen sie nicht mit CMD /K ausführen.

AKTUALISIEREN

Ah, ein paar neue Infos ... Sie versuchen es mit einer fixierten Verknüpfung in der Taskleiste.

Ich habe Folgendes gefunden: Hinzufügen von Stapeldateien zur Windows 7-Taskleiste, z. B. Vista/XP Quick Launch , mit dem entsprechenden Teil unten.

  1. Stecken Sie zunächst eine Verknüpfung für CMD.EXE in die Taskleiste, indem Sie auf die Startschaltfläche klicken, geben Sie dann "cmd" in das Suchfeld ein, klicken Sie mit der rechten Maustaste auf das Ergebnis und wählen Sie "An Taskleiste anheften".
  2. Klicken Sie mit der rechten Maustaste auf die Verknüpfung in der Taskleiste.
  3. Sie sehen eine Liste mit "Eingabeaufforderung" und "Dieses Programm von der Taskleiste entfernen".
  4. Klicken Sie mit der rechten Maustaste auf das Symbol für CMD.EXE und wählen Sie Properties aus.
  5. Gehen Sie im Feld für Ziel bis zum Ende von "%SystemRoot%\system32\cmd.exe" und geben Sie " /C " und den Pfad und den Namen .__ ein. der Batchdatei.

Für Ihre Zwecke können Sie entweder:

  1. Verwenden Sie /C und setzen Sie eine PAUSE am Ende Ihrer Batchdatei.

    ODER

  2. Ändern Sie die Befehlszeile in /K und entfernen Sie die PAUSE aus Ihrer Batchdatei.
117
aphoria

Hier:

cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause

Schau mal was du machst:

  1. (cmd/K) Start eine NEUE cmd-Instanz.
  2. (& pause) Pause die CURRENT cmd-Instanz.

Wie löse ich das? Nun, unter Verwendung der richtigen Syntax, die das Argument für die neue CMD-Instanz einschließt:

cmd.exe /k ""<SomePath>\<My Batch File>.bat" & pause"
12
ElektroStudios

Ich schrieb gerade die letzte Zeile als Pause es funktionierte gut mit .bat und .cmd . Es wird auch die Meldung "Drücken Sie eine beliebige Taste, um fortzufahren" angezeigt.

6
Sai

In der letzten Zeile der Stapeldatei, die Sie geöffnet halten möchten, setzen Sie ein

pause >nul

4
Bali C

Um das Konsolenfenster geöffnet zu lassen, müssen Sie nur noch die letzte Befehlszeile in der Batchdatei hinzufügen: 

' & pause'
3
Umberto

Sie können einfach einen pause-Befehl in die letzte Zeile Ihrer Batch-Datei eingeben:

@echo off
echo Hey, I'm just doing some work for you.
pause

Werde dir so etwas als Ausgabe geben:

Hey, ich arbeite nur für dich.

Drücken Sie eine beliebige Taste, um fortzufahren ...

Hinweis: Die Verwendung des @echo verhindert die Ausgabe des Befehls, bevor die Ausgabe gedruckt wird.

1
Patrick H.
rem Just use "pause" at the end of the batch file.
...
......
.......
pause
0
David Castro