Die Befehlszeilenfunktion PAUSE funktioniert nicht

4

Ich habe ein Problem mit einem Stapeldateibefehl. Wenn ich das Programm ausführe, wird am Ende der Stapeldatei der Befehl "PAUSE" angezeigt. Das Befehlsfenster wird jedoch immer noch automatisch geschlossen, zu schnell, als dass ich den Befehl sehen könnte Ergebnisse. Gibt es eine andere Möglichkeit, das Schließen des Befehlsfensters zu verhindern oder die Ergebnisse irgendwie zu erhalten? Kann zB eine gedruckte Version verschickt, irgendwo eingefügt werden?

Hintergrund - Ich kenne mich mit Kommandozeilen aus, also bitte, wenn Sie können, antworten Sie bitte auf Erklärungen für Anfänger. Ich versuche letztendlich, Versionen einer MS Project-Datei zu bestimmen, und habe diese Website-Anweisungen genau verwendet / befolgt, aber die Ergebnisse werden für mich nicht angezeigt - das Befehlsfenster verschwindet sofort:

Microsoft-Website, für die ich Anweisungen verwendet habe: Eine einfache Methode zum Ermitteln der Version einer MPP-Datei (MS Project-Plandatei)

Die Texte / Befehle in der Batch-Datei:

@ECHO OFF

REM  Version.bat

ECHO Filename: %1

ECHO.

ECHO -- CHECK FOR PROJECT VERSION --

strings %1 | findstr "[0-9],.,....,...." 2>NUL

ECHO Check the following list for the first one or two digits of the string above (xx,.,....,....)

ECHO List of xx (Product Name): 8 (98), 9 (2000), 10 (2002), 11 (2003), 12 (2007), 14 (2010)

ECHO. 

ECHO -- CHECK FOR MPP FILE VERSION --

strings %1 | findstr ".MPP" 2>NUL

ECHO Check the following list for the digit(s) at the end of the string above (...MPPxx)

ECHO List of xx (Product Name): 8 (98), 9 (2000/2002/2003), 12 (2007), 14 (2010)

ECHO.

PAUSE
user232864
quelle
Welches Betriebssystem verwenden Sie? Ich denke, es ist ein Geschmack von Fenstern, aber welches?
Terdon
1
Ich verwende Windows XP - Version 2002, Service Pack 3
user232864
Travis,
Hier ist der Inhalt der Batch-Datei, wie im Link beschrieben (dies muss in 2 Kommentaren erfolgen, da die maximale Anzahl von Zeichen überschritten wird): @ECHO OFF REM Version.bat ECHO-Dateiname:% 1 ECHO. ECHO - CHECK FÜR PROJEKTVERSION - Strings% 1 | findstr "[0-9],., ...., ...." 2> NUL ECHO Überprüfen Sie die folgende Liste auf die ersten ein oder zwei Ziffern der obigen Zeichenfolge (xx,., ....,. ...) ECHO-Liste von xx (Produktname): 8 (98), 9 (2000), 10 (2002), 11
user232864
1
Scott - Vielen Dank für die obigen Informationen - alles gut zu wissen. Es stellte sich heraus, dass ich das benötigte Programm "strings" nicht installiert hatte. Vielen Dank für die Hilfe
user232864

Antworten:

1

Ich vermute, die Datei hat einen Fehler. Rufen Sie die Batchdatei über ein vorhandenes Befehlsfenster auf, um die Meldung anzuzeigen.

Das Problem ist höchstwahrscheinlich, dass das Skript ein externes Programm namens "strings" aufruft. Entsprechend dem Dokument, das Sie damit verknüpft haben, finden Sie es hier . Damit die Batchdatei sie finden kann, müssen Sie sie in dem Verzeichnis installieren, in dem Sie sie ausführen. Andernfalls müssen Sie die Umgebungsvariable PATH ändern oder sie in ein Systemverzeichnis stellen.

James P
quelle
Danke - das hat funktioniert. Ich kann nicht glauben, dass ich das "Streicher" -Programm verpasst habe. Einmal heruntergeladen hat es perfekt funktioniert. Danke!
user232864
1

Warten

sek:

PING 127.0.0.1 -n <sec> >NUL

Warten Sie 10 Sekunden:

PING 127.0.0.1 -n 10 >NUL

Warten Sie 10 Sekunden:

powershell measure-command {sleep -s 10} ^| select TotalSeconds ^| Ft -Au

Warten Sie 1/4 Sekunde oder 250 Millisekunden:

powershell measure-command {sleep -m 250} ^| select TotalMilliseconds ^| Ft -Au

Pause

Power Shell:

powershell $host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')

var2:

powershell $host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown') >NUL

var3:

powershell cmd /c pause ^| out-null

var4:

powershell [Console]::ReadKey()>NUL

var5:

powershell sleep

Befehl pausieren, batch / cmd:

cmd /c pause
STTR
quelle
2
Leider bekomme ich das gleiche Ergebnis - verschwindet immer noch sofort
user232864
@ user232864 Powershell-Befehl testen und was PING 127.0.0.1 -n 10in cmd tun ? Auf Ihrem Windows XP SP3?
STTR
2
Danke, habe die PowerShell am Ende der Batch-Datei ausprobiert, das gleiche Ergebnis - das Befehlsfenster öffnet sich für eine Sekunde und verschwindet dann wie zuvor. Nicht sicher, ob ich die Frage "Auf Ihrem Windows XP SP3?" Verstehe.
user232864
@ user232864 Aus deiner Frage habe ich gemerkt, dass du nuzhena verzögerst und nicht pausierst. Jetzt hinzufügen)
STTR
2
Vielen Dank für die Informationen oben - alles gut zu wissen. Es stellte sich heraus, dass ich das benötigte Programm "strings" nicht installiert hatte. Danke für die Hilfe.
user232864
0

Wenn der vorherige Befehl eine Batchdatei ist, wird der Rest Ihrer Datei nicht ausgeführt. Versuche einen Anruf vor den vorherigen Befehlen /

kStarbe
quelle
1
Sie wiederholen die andere Antwort
am