2014-01-29 1 views

ответ

2

Вы не можете запретить пользователю остановить его с помощью CTRL-C, но вы можете подавить подсказку с «NUL,» например:

тайм-аут -t 10 -nobreak> nul

Я обнаружил, что для почти всех пользователей это не даст им попробовать нажать клавишу.

1

Ну, наборы команд тайм-аута %errorlevel% до 1, если нажата клавиша CTRL + C.

Таким образом, вы можете попробовать это:

@echo off 
:settime 
timeout 5 /nobreak 
if %errorlevel% == 1 goto settime 
echo/Yes! CTRL+C were not pressed! 
pause 
+0

Это не работает. При нажатии клавиши «Ctrl-C» сам пакетный файл отменяется, и cmd.exe запрашивает подтверждение этого ... – Aacini

+0

Да, но если вы наберете «N», командный файл не будет отменен. – Rafael

+0

точно я хочу пропустить этот вопрос, который запрашивает Y/N, и это не происходит с вашим кодом :( – Nofuzy

1

Вы можете использовать start /b с перерывом.

start "title" /b cmd /c "timeout 5 /nobreak" 

Это не может быть отменено, так как тайм-аут запускается в том же окне, но в другом экземпляре cmd.exe.

Смежные вопросы