이 글에서는 PowerShell 스크립트에 일시정지(일시 중지) 기능을 추가하는 다양한 방법을 소개합니다. 간단한 Start-Sleep 명령어부터 카운트다운 표시, 팝업 메시지, 진행률 표시줄이 있는 대기 처리까지, 상황에 맞게 활용할 수 있는 여러 가지 방법을 예제와 함께 살펴보겠습니다.

PowerShell 스크립트에 일시정지 추가하는 기본 방법
PowerShell 스크립트에 일시정지를 추가하려면 아래 순서대로 진행하세요.
- 시작 메뉴에서 PowerShell ISE를 실행합니다.
- 일시정지 명령을 추가하고 싶은 PowerShell 스크립트 파일을 엽니다.
- 스크립트에서 일시정지가 발생하기를 원하는 위치에 start-sleep -Seconds 5 한 줄을 추가합니다. (숫자 5는 원하는 대기 시간(초)으로 자유롭게 변경할 수 있습니다.)

- 위 예제에서는 3번째 줄에 대기 명령을 삽입했습니다.
- PowerShell 스크립트를 저장합니다.
- 스크립트를 실행하여 결과를 확인합니다.
Start-Sleep 명령어의 기본 구문은 다음과 같습니다.
Start-Sleep -seconds
Start-Sleep -milliseconds
Start-Sleep 사용 예제
초(seconds) 단위 사용 예:
Start-Sleep -seconds 1.5 (1.5초간 대기)
Start-Sleep -seconds 5 (5초간 대기)
Start-Sleep -seconds 15 (15초간 대기)
밀리초(milliseconds) 단위 사용 예:
Start-Sleep -milliseconds 1.5 (1.5밀리초간 대기)
Start-Sleep -milliseconds 5 (5밀리초간 대기)
Start-Sleep -milliseconds 15 (15밀리초간 대기)
카운트다운과 함께 일시정지 추가하는 방법
이번에는 단순히 멈추는 것뿐 아니라, 남은 시간을 화면에 카운트다운 형태로 보여주면서 대기하는 방법을 알아보겠습니다. 이 방식의 장점은 카운트다운 도중 아무 키나 누르면 즉시 건너뛰고 스크립트 실행이 계속된다는 점입니다.
아래 순서대로 진행하세요.
- 시작 메뉴에서 PowerShell ISE를 실행합니다.
- 일시정지 명령을 추가하고 싶은 PowerShell 스크립트 파일을 엽니다.
- 원하는 위치에 timeout /t 15 한 줄을 추가합니다. (숫자 15를 원하는 대기 시간(초)으로 변경하세요.)

- PowerShell 스크립트를 저장합니다.
- 스크립트를 실행합니다.
실행하면 timeout 명령이 아래 화면처럼 동작합니다.

다른 방식의 카운트다운 타이머
앞서 사용한 timeout /t 15 대신 아래 코드를 넣으면 조금 다른 스타일의 카운트다운 타이머를 표시할 수 있습니다.
1..60 | ForEach {
Start-Sleep -s 1
Write-Progress -activity "Timer Started: " -Status $_
}
이 스크립트는 60초 동안 매 1초마다 남은 시간을 진행 상태로 보여주며 카운트다운합니다. 숫자 60을 원하는 대기 시간(초)으로 바꾸면 됩니다.

팝업 메시지와 함께 일시정지 추가하는 방법
이 방법은 PowerShell 스크립트에 일시정지 명령을 추가하고, 대기 시간을 별도의 팝업 창으로 표시해 주는 방식입니다. 사용자에게 지금 스크립트가 대기 중이라는 사실을 좀 더 직관적으로 알리고 싶을 때 유용합니다.
아래 순서대로 진행하세요.
- 시작 메뉴에서 PowerShell ISE를 실행합니다.
- 일시정지 명령을 추가하고 싶은 PowerShell 스크립트 파일을 엽니다.
- 팝업 메시지용 코드를 해당 위치에 추가합니다.
- PowerShell 스크립트를 저장합니다.
- 스크립트를 실행합니다.
실행 결과는 아래 화면과 같습니다.

진행률 표시줄과 함께 PowerShell 대기 처리하기
개인적으로 가장 추천하는 방법입니다. PowerShell이 대기하는 동안 화면에 진행률 표시줄(progress bar)이 함께 움직이기 때문에, 긴 작업 중에도 진행 상황을 한눈에 파악할 수 있습니다.
아래 순서대로 진행하세요.
- 시작 메뉴에서 PowerShell ISE를 실행합니다.
- 일시정지 명령을 추가하고 싶은 PowerShell 스크립트 파일을 엽니다.
- 아래 굵게 표시된 코드를 원하는 위치에 추가합니다.
For ($i=0; $i -le 100; $i++) {
Start-Sleep -Milliseconds 20
Write-Progress -Activity "Sleeping For 20 Seconds" -Status "StatusString" -PercentComplete $i -CurrentOperation "CurrentOperationString"
} - 숫자 20을 원하는 대기 시간(초)으로 변경합니다.
- "Sleeping For 20 Seconds"라는 문구는 자신이 원하는 메시지로 얼마든지 수정할 수 있습니다.
- PowerShell 스크립트를 저장합니다.
- 스크립트를 실행합니다.
실행하면 진행률 표시줄이 아래 화면처럼 나타납니다.
