batch-file
배치 파일에 지연 추가
수색…
소개
이 주제는 스크립팅 언어, 배치 파일에서 알 수있는 많은 유용한 것들 중 하나를 가르쳐 줄 것입니다; 배치 파일에 지연 / 일시 중지 / 시간 초과 추가.
제한 시간
제한 시간
특정 시간 동안 지연 또는 일시 중지를 수행하는 가장 간단한 방법은 표준 명령 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
폴더에 저장하십시오. 그런 다음 정상적인 명령으로 사용할 수 있습니다.