티스토리 뷰

728x90

cmd에서는 timeout으로 초 단위 딜레이만 가능합니다.

그래서 배치파일을 작성하다 보면 0.5초 단위로 딜레이 하는 방법을 알고 싶어 하는 경우가 생길 겁니다.

이 글에서 0.5초 단위뿐만 하니라 0.001초 단위로 딜레이 하는 방법을 알려드리겠습니다.

 

배치파일 작성

0.5초 딜레이를 예시로 작성 했습니다.

echo WScript.Sleep 500 > %temp%\sleep.vbs wscript %temp%\sleep.vbs | more & del /q %temp%\sleep.vbs

500 이 부분을 바꿔주시면 됩니다.

이때 단위는 ms(밀리세컨드)라서 1000이 1초 이고, 500가 0.5초입니다.

 

코드 설명

한 줄로 모든 작업을 하기 위해 코드가 길러졌습니다. &로 분리하여 설명하겠습니다.

 

echo WScript.Sleep 500 > %temp%sleep.vbs

temp폴더에 vbs파일을 만듭니다.

 

wscript %temp%\sleep.vbs | more 

만든 vbs파일을 실행시키고 끝날 때까지 기다립니다.

 

del /q %temp%\sleep.vbs

만든 vbs파일을 삭제합니다.

 

 

 

오차

오차가 얼마나 나는지 보기 위해 현재 시간을 출력하도록 해보겠습니다.

@echo off
::현제 시간을 출력 합니다.
echo %time%
echo WScript.Sleep 500 > %temp%sleep.vbs wscript %temp%\sleep.vbs | more & del /q %temp%\sleep.vbs
::0.5초를 딜레이 한 다음 다시 현제 시간을 출력 합니다.
echo %time%
pause

실행 결과입니다.(세티세컨드는 백분의 1초인데, 저 부분을 어떻게 써야 되는지 몰라서 저렇게 섰어요..;)

오차는 0.11초입니다. 여러 번 해봤는데, 약 0.1초 정도 차이가 나는군요.

그래서 거의 정확한 0.5초를 구사하려면 400으로 값을 넣어야 할 것 같습니다.

 

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함