Vorgehensweise „Drücken Sie zum Beenden die Eingabetaste“

76

Ich verwende Rake, um mein Projekt zu erstellen, und ich habe eine build.bat-Datei ähnlich der folgenden:

@echo off
cls
rake

Wenn ich auf build.bat doppelklicke, erscheint das Dos-Fenster und zeigt den gesamten Fortschritt an, schließt sich jedoch selbst, wenn die Aufgabe abgeschlossen ist. Gibt es eine Möglichkeit, eine Console.ReadLine zu erstellen, damit der Benutzer das Protokoll sehen kann?

Vielen Dank.

Aktualisiert:

Ich habe es unten versucht, aber es hat nicht funktioniert. nicht sicher warum.

@echo off
cls
rake
pause
Jeff
quelle

Antworten:

91

Standardinterpreter von Microsoft werden so ausgeführt, dass sie beendet werden, wenn sie EOF erreichen. Wenn Rake eine andere Batch-Datei ist, wechselt der Befehlsinterpreter zu dieser und wird beendet, wenn die Rake-Interpretation abgeschlossen ist. Um dies zu verhindern, schreiben Sie:

@echo off
cls
call rake
pause

IMHO startet der Anrufbetreiber eine weitere Instanz des Interpreters, wodurch verhindert wird, dass der aktuelle Interpreter zu einer anderen Eingabedatei wechselt.

Basilevs
quelle
50
pause

wird angezeigt:

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

Steven Robbins
quelle
2
Entschuldigung, ich wusste nicht, dass Rake eine andere Batch-Datei ist.
Steven Robbins
10

Ich vermute, das rakeist ein Batch-Programm. Wenn Sie es ohne aufrufen call, kehrt die Kontrolle nicht zu Ihrem zurück build.bat. Versuchen:

@echo off
cls
CALL rake
pause
Aaron Digulla
quelle
7
@echo off
echo somethink
echo Press enter to exit
set /p input=
RatajS
quelle
1

Ups ... habe die Frage falsch verstanden ...

Pause ist der richtige Weg

Alte Antwort:

Sie können Befehle in Ihre Patch-Datei weiterleiten ...

Versuchen

build.bat < responsefile.txt
Heiko Hatzfeld
quelle
1

Verwenden Sie dieses Snippet:

@echo off
echo something
echo.
echo press enter to exit
pause >nul
exit
Barth
quelle
1
@echo off
echo Press any key to exit . . .
pause>nul
König der ungefähren
quelle