2016-08-11 1 views
-1
@echo off 
set /p Shutdown5=Would you like to shutdown your computer in 5 seconds? 
If "%INPUT%" == "y" goto yes 
If "%INPUT%" == "n" goto no 

:yes 
echo Shutting down in 5 
/t 1 
echo Shutting down in 4 
/t 1 
echo Shutting down in 3 
/t 1 
echo Shutting down in 2 
/t 1 
echo Shutting down in 1 
/t 1 
echo Shutting down. 

:no 
exit 

위의 코드는 저에게 적합하지 않습니다. 누구든지 내 실수를 지적 할 수 있겠지만 나는 100 % 확신 할 수 없다 ...이 코드에서 알 수없는 오류를 어떻게 해결할 수 있습니까? (배치 파일)

+0

당신은 우리가 당신을 도울 수있는 작동하지 않는 것을 분명하게 말해 경우 . 사용자가'y' 또는'n'이 아닌 다른 것을 입력하면 어떻게 될지 생각하지 못했을 것입니다 ... – aschipfl

+0

@aschipfl 'y'이면 '예'로, 'n'이면 'no'로 이동하십시오. – AidenTooMLG

+0

그렇습니다.하지만 'a'를 입력하면 실행이 계속 될 것입니다. 예를 들어 _both_ 조건이 충족되지 않으면 어떻게됩니까? 변수'Shutdown5'를 설정했지만 변수'INPUT'을 쿼리하고 있다는 사실을 알고 있습니다 ... – aschipfl

답변

0

/t은 명령이 아니기 때문에이 스크립트는 작동하지 않습니다. 나는 TIMEOUT /T 1을 사용하고 싶습니다. 이것은 1 초 동안 타임 아웃을 의미합니다. 그래서이 시도 : 당신은 또한 시간 제한 명령에 의해 반향되는 메시지를 방지하려면

@echo off 
set /p Shutdown5=Would you like to shutdown your computer in 5 seconds? 
If "%INPUT%" == "y" goto yes 
If "%INPUT%" == "n" goto no 

:yes 
echo Shutting down in 5 
timeout /t 1 
echo Shutting down in 4 
timeout /t 1 
echo Shutting down in 3 
timeout /t 1 
echo Shutting down in 2 
timeout /t 1 
echo Shutting down in 1 
timeout /t 1 
echo Shutting down. 

:no 
exit 

대신이 사용

timeout /t 1 >nul 2>&1 
+0

당신은 명백한 것을 놓쳤습니다. 'INPUT'은 정의되어 있지 않습니다. – DavidPostill

+0

@DavidPostill 어떻게 해결할 수 있습니까? – AidenTooMLG

+0

@AidenTooMLG'set/p INPUT = 5 초 후에 컴퓨터를 종료 하시겠습니까? ' – DavidPostill

관련 문제