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

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.


50
pause

wird angezeigt:

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


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

7
@echo off
echo somethink
echo Press enter to exit
set /p input=

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

1

Verwenden Sie dieses Snippet:

@echo off
echo something
echo.
echo press enter to exit
pause >nul
exit

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.