HOWTO · batch
배치 파일에서 X초 동안 절전 또는 대기하는 방법
배치 파일을 몇 초 동안 일시 중지하는 방법을 알아보세요. 내장된 timeout 명령을 사용하거나, timeout을 사용할 수 없는 시스템에서는 ping 우회 방법을 사용합니다.
이 페이지의 내용
배치 파일로 작업할 때 특정 기간 동안 실행을 일시 중지해야 할 필요가 있을 수 있습니다. 프로세스가 완료되기를 기다리거나 사용자 상호 작용을 위해 단순히 지연을 추가하는 경우든, 절전 또는 대기 기능을 구현하는 방법을 아는 것은 필수적입니다.
이 기사에서는 배치 파일에서 이를 달성하기 위한 두 가지 효과적인 방법, 즉 timeout 명령과 ping 명령의 사용을 살펴보겠습니다. 각 방법은 간단하고 스크립트에 쉽게 통합할 수 있어 실행 흐름을 더 잘 제어할 수 있습니다. 이러한 솔루션을 자세히 살펴보고 배치 파일에서 시간을 효과적으로 관리하는 방법을 알아보겠습니다.
timeout 명령 사용
timeout 명령은 배치 파일을 지정된 초 수만큼 일시 중지하는 간단한 방법입니다. Windows에 내장되어 있으며(Vista부터) 사용하기 쉽습니다. /t는 대기할 초 수를 지정하며, -1(키를 누를 때까지 무한정 대기)부터 99999까지 지정할 수 있습니다. 구현 방법은 다음과 같습니다.
@echo off
echo Waiting for 10 seconds...
timeout /t 10
echo Done waiting!
출력:
Waiting for 10 seconds...
Done waiting!
이 예제에서는 배치 파일이 10초 동안 대기 중임을 나타내는 메시지를 표시합니다. timeout /t 10 명령은 화면에서 카운트다운하면서 실행을 10초 동안 일시 중지합니다. 대기 후에는 “Done waiting!“을 출력하여 일시 중지가 종료되었음을 나타냅니다. /t 뒤의 값을 변경하여 초 수를 조정할 수 있습니다.
기본적으로 아무 키나 누르면 대기가 조기에 종료됩니다. /nobreak — timeout /t 10 /nobreak — 를 추가하면 키 누름을 무시합니다(Ctrl+C는 여전히 스크립트를 중지합니다). 알아야 할 제한 사항이 하나 있습니다. timeout은 스케줄러나 다른 프로그램 등에 의해 스크립트의 표준 입력이 리디렉션된 경우 실행할 수 없습니다. 그런 경우에는 대기하는 대신 오류를 출력하는데, 그럴 때 아래의 ping 우회 방법이 유용합니다.
ping 명령 사용
배치 파일에 지연을 도입하는 또 다른 방법은 ping 명령을 사용하는 것입니다. 이 명령은 주로 네트워크 진단에 사용되지만, 각 ping 응답이 돌아오는 데 약 1초가 걸리므로 일시 중지를 만드는 데 재활용할 수 있습니다. 방법은 다음과 같습니다.
@echo off
echo Waiting for 5 seconds...
ping 127.0.0.1 -n 6 > nul
echo Done waiting!
출력:
Waiting for 5 seconds...
Done waiting!
이 예제에서는 배치 파일이 계속 진행하기 전에 5초 동안 대기합니다. ping 127.0.0.1 -n 6 명령은 로컬호스트(127.0.0.1)에 6번의 ping을 보냅니다. 첫 번째 응답은 즉시 돌아오고 그 이후의 각 응답은 약 1초가 걸리므로, 6번의 ping은 약 5초의 일시 중지를 만듭니다 — N초를 대기하려면 N+1번 ping하세요. > nul 부분은 ping 명령의 출력을 억제하여 콘솔을 깔끔하게 유지합니다. 이 방법은 실제 절전 명령이라기보다는 우회 방법이지만, 이전 버전의 Windows나 입력이 리디렉션된 경우와 같이 timeout을 사용할 수 없거나 실행할 수 없는 곳에서도 작동합니다.
결론
요약하면, 배치 파일에서 절전하거나 대기하는 방법을 아는 것은 스크립팅 능력을 향상시킬 수 있는 귀중한 기술입니다. timeout 명령은 간단하고 전용으로 만들어진 옵션이며, ping 명령은 timeout을 사용할 수 없을 때 실행 가능한 대안을 제공합니다. 이러한 방법을 구현하면 실행 흐름을 효과적으로 관리하고 배치 스크립트의 사용자 경험을 개선할 수 있습니다. 작업을 자동화하든 대화형 스크립트를 만들든, 이러한 기술은 유용할 것입니다.
FAQ
-
배치 파일이란 무엇입니까?
배치 파일은 Windows의 명령줄 인터프리터에 의해 순차적으로 실행되는 일련의 명령을 포함하는 텍스트 파일입니다. -
이전 버전의 Windows에서 배치 파일에 절전을 사용할 수 있습니까?
예, timeout 명령을 사용할 수 없는 경우 ping 명령을 우회 방법으로 사용할 수 있습니다. -
timeout 명령을 사용하여 얼마나 오래 대기할 수 있습니까?
timeout 명령은 최대 99999초까지 대기할 수 있으며, 이는 약 27.7시간에 해당합니다. -1 값은 키를 누를 때까지 대기합니다. -
시간 제한을 취소할 방법이 있습니까?
예, 시간 제한 기간이 끝나기 전에 아무 키나 눌러 대기를 취소할 수 있습니다 — 단, 명령이/nobreak로 시작된 경우는 제외되며, 이 경우 Ctrl+C만 중지할 수 있습니다. -
이러한 방법을 배치 파일이 아닌 다른 스크립트에서 사용할 수 있습니까?
이는 Windows 명령 인터프리터의 명령이므로, 배치 파일을 포함하여cmd가 이를 실행하는 모든 곳에서 작동합니다. Unix 셸에서는 사용할 수 없습니다.