수색…


소개

이 주제는 스크립팅 언어, 배치 파일에서 알 수있는 많은 유용한 것들 중 하나를 가르쳐 줄 것입니다; 배치 파일에 지연 / 일시 중지 / 시간 초과 추가.

제한 시간


제한 시간

특정 시간 동안 지연 또는 일시 중지를 수행하는 가장 간단한 방법은 표준 명령 TIMEOUT 입니다. 정확히 1 분 동안 지속되는 제한 시간을 만들려면 다음을 입력하십시오.

timeout /t 60

이제 무슨 일이 벌어지고 있니?

먼저 TIMEOUT 명령을 /T 매개 변수 (단순히 시간 초과를 의미 함)와 함께 사용하고 대기 시간 (초)을 지정합니다. 이 경우 ... 60 초.

매개 변수 / NOBREAK로 시간 초과

이전 예제를 BATCH 파일에서 실행하면 : timeout /t 60 그런 다음 60 초를 기다리는 동안 실제로 키보드의 아무 키나 눌러 시간 초과를 깨뜨릴 수 있습니다. 이를 막기 위해 /NOBREAK 매개 변수를 끝에 추가하기 만하면됩니다.

timeout /t 60 /nobreak

이렇게하면 60 초 동안 타임 아웃되며, 타임 아웃을 해제하려면 키보드에서 (CTRL-C)를 눌러야합니다.

무음 시간 초과

타임 아웃을하면 다음과 같이 표시됩니다.

Waiting for X seconds, press a key to continue ...
or 
Waiting for X seconds, press CTRL+C to quit ... [This is with the /NOBREAK parameter]

메시지가 사용 숨기려면 NUL 인수를 (의 설명은 NUL : 여기를 클릭 )

timeout /t 60 > nul
or
timeout /t 60 /nobreak > nul

중지

스크립트를 일시 중지하려면 PAUSE 명령을 사용하십시오.

PAUSE

Press any key to continue . . . 십시오 텍스트가 표시 Press any key to continue . . . 그런 다음 사용자 입력에 개행을 추가하십시오.

"Hello World"프로그램을 만들고 키보드에서 뭔가를 클릭 한 후에 EXIT 명령으로 프로그램을 종료하길 원한다고 가정 해 봅시다.

echo Hello World
pause
exit

여기에서는 ECHO 명령 을 사용하여 "Hello World"라고 말합니다. 그런 다음 PAUSE 명령을 사용하여 Press any key to continue . . . EXIT 명령을 사용하여 현재 BATCH 스크립트를 종료합니다.

일시 중지되면 다음과 같이 표시됩니다.

Press any key to continue . . .

숨기기 "계속하려면 아무 키나 누르십시오 ...

메시지를 숨기려면 출력을 nul 이라는 특수 장치로 리디렉션합니다. 이것은 실제로 실제 장치가 아니지만 우리가 보내는 장치는 무엇이든 버려집니다.

pause > nul


특정 시간 동안 지연하기 위해 가장 많이 사용되는 명령 중 하나는 ping 입니다.

기본 사용법

PING -n 1 -w 1000 1.1.1.1

REM the -n 1 flag means to send 1 ping request.
REM the -w 1000 means when the IP(1.1.1.1) does not respond, go to the next command
REM 1.1.1.1 is an non-existing IP so the -w flag can ping a delay and go to next command

그러면 배치 파일 / console에 다음 내용이 출력됩니다.

C:\Foo\Bar\Baz>ping -n -w 1000 1.1.1.1

Pinging 1.1.1.1 (Using 32 bytes of data)
Request timed out

Ping statistics for 1.1.1.1
    Packets: Sent = 2,Received = 0, Lost = 1(100% loss)

에코 된 텍스트 숨기기

명령의 뒤쪽에 >nul 을 추가하여 null로 리디렉션하면됩니다.

ping -n w 1000 1.1.1.1 >nul

이렇게하면 아무 것도 출력되지 않습니다.

자다


자다

구형 Windows 시스템에서는 timeout 를 사용할 수 없습니다. 그러나 sleep 명령을 사용할 수 있습니다.

용법

sleep 1

매우 자명 한; 1 초 동안 잠을 자다. 그러나 sleep 은 deperacted 명령이므로 timeout 으로 대체해야합니다.

유효성

이 명령은 이전 Windows 시스템에서 사용할 수 있습니다. 또한 SLEEP.exe 는 2003 Resource Kit에 포함되어 있습니다.

sleep.exe 를 사용하려면 실행 파일을 %Windir%\System32 폴더에 저장하십시오. 그런 다음 정상적인 명령으로 사용할 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow