Изрядное количество наших "автоматизированных групп установщиков" .bat файлов заканчивается примерно так:
:success
ECHO Success! (as far as I can tell)
ECHO.
ECHO.
ECHO Press any key to reboot...
ECHO.
ECHO.
PAUSE >NUL
shutdown -r
EXIT /b
Если предыдущие команды заняли некоторое время, есть хороший шанс, что пользователь случайно нажалключ задолго до того, как мы достигнем :success
метки.Поскольку STDIN
кажется буферизированным, это приведет к немедленному отклонению PAUSE
.
Я бы предпочел что-то вроде:
GOBBLE_STDIN_SOMEHOW
PAUSE >NUL
shutdown -r
Как бы я "flush "STDIN, потребляя все, что было там, но не ожидая, если ничего не буферизовано?