Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

PowerShell 스크립트에 일시정지(Pause) 추가하는 방법, 실전 예제로 배우기

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

PowerShell 스크립트에 일시정지(Pause) 추가하는 방법, 실전 예제로 배우기

PowerShell 스크립트에 일시정지 추가하는 기본 방법

PowerShell 스크립트에 일시정지를 추가하려면 아래 순서대로 진행하세요.

  1. 시작 메뉴에서 PowerShell ISE를 실행합니다.
  2. 일시정지 명령을 추가하고 싶은 PowerShell 스크립트 파일을 엽니다.
  3. 스크립트에서 일시정지가 발생하기를 원하는 위치에 start-sleep -Seconds 5 한 줄을 추가합니다. (숫자 5는 원하는 대기 시간(초)으로 자유롭게 변경할 수 있습니다.)
    PowerShell 스크립트에 일시정지(Pause) 추가하는 방법, 실전 예제로 배우기
  4. 위 예제에서는 3번째 줄에 대기 명령을 삽입했습니다.
  5. PowerShell 스크립트를 저장합니다.
  6. 스크립트를 실행하여 결과를 확인합니다.

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밀리초간 대기)

카운트다운과 함께 일시정지 추가하는 방법

이번에는 단순히 멈추는 것뿐 아니라, 남은 시간을 화면에 카운트다운 형태로 보여주면서 대기하는 방법을 알아보겠습니다. 이 방식의 장점은 카운트다운 도중 아무 키나 누르면 즉시 건너뛰고 스크립트 실행이 계속된다는 점입니다.

아래 순서대로 진행하세요.

  1. 시작 메뉴에서 PowerShell ISE를 실행합니다.
  2. 일시정지 명령을 추가하고 싶은 PowerShell 스크립트 파일을 엽니다.
  3. 원하는 위치에 timeout /t 15 한 줄을 추가합니다. (숫자 15를 원하는 대기 시간(초)으로 변경하세요.)
    PowerShell 스크립트에 일시정지(Pause) 추가하는 방법, 실전 예제로 배우기
  4. PowerShell 스크립트를 저장합니다.
  5. 스크립트를 실행합니다.

실행하면 timeout 명령이 아래 화면처럼 동작합니다.

PowerShell 스크립트에 일시정지(Pause) 추가하는 방법, 실전 예제로 배우기

다른 방식의 카운트다운 타이머

앞서 사용한 timeout /t 15 대신 아래 코드를 넣으면 조금 다른 스타일의 카운트다운 타이머를 표시할 수 있습니다.

1..60 | ForEach {
Start-Sleep -s 1
Write-Progress -activity "Timer Started: " -Status $_
}

이 스크립트는 60초 동안 매 1초마다 남은 시간을 진행 상태로 보여주며 카운트다운합니다. 숫자 60을 원하는 대기 시간(초)으로 바꾸면 됩니다.

PowerShell 스크립트에 일시정지(Pause) 추가하는 방법, 실전 예제로 배우기

팝업 메시지와 함께 일시정지 추가하는 방법

이 방법은 PowerShell 스크립트에 일시정지 명령을 추가하고, 대기 시간을 별도의 팝업 창으로 표시해 주는 방식입니다. 사용자에게 지금 스크립트가 대기 중이라는 사실을 좀 더 직관적으로 알리고 싶을 때 유용합니다.

아래 순서대로 진행하세요.

  1. 시작 메뉴에서 PowerShell ISE를 실행합니다.
  2. 일시정지 명령을 추가하고 싶은 PowerShell 스크립트 파일을 엽니다.
  3. 팝업 메시지용 코드를 해당 위치에 추가합니다.
  4. PowerShell 스크립트를 저장합니다.
  5. 스크립트를 실행합니다.

실행 결과는 아래 화면과 같습니다.

PowerShell 스크립트에 일시정지(Pause) 추가하는 방법, 실전 예제로 배우기

 

진행률 표시줄과 함께 PowerShell 대기 처리하기

개인적으로 가장 추천하는 방법입니다. PowerShell이 대기하는 동안 화면에 진행률 표시줄(progress bar)이 함께 움직이기 때문에, 긴 작업 중에도 진행 상황을 한눈에 파악할 수 있습니다.

아래 순서대로 진행하세요.

  1. 시작 메뉴에서 PowerShell ISE를 실행합니다.
  2. 일시정지 명령을 추가하고 싶은 PowerShell 스크립트 파일을 엽니다.
  3. 아래 굵게 표시된 코드를 원하는 위치에 추가합니다.
    For ($i=0; $i -le 100; $i++) {
    Start-Sleep -Milliseconds 20
    Write-Progress -Activity "Sleeping For 20 Seconds" -Status "StatusString" -PercentComplete $i -CurrentOperation "CurrentOperationString"
    }
  4. 숫자 20을 원하는 대기 시간(초)으로 변경합니다.
  5. "Sleeping For 20 Seconds"라는 문구는 자신이 원하는 메시지로 얼마든지 수정할 수 있습니다.
  6. PowerShell 스크립트를 저장합니다.
  7. 스크립트를 실행합니다.

실행하면 진행률 표시줄이 아래 화면처럼 나타납니다.

PowerShell 스크립트에 일시정지(Pause) 추가하는 방법, 실전 예제로 배우기