PowerShell에서 계속 진행하기 위해 아무 키나 누르라고 표시하는 방법

  1. PowerShell에서 press any key to continue 활성화에 ReadKey (System.Console) 사용
  2. PowerShell에서 press any key to continue 활성화에 ReadKey (Console) 사용
  3. PowerShell에서 press any key to continue 활성화에 ReadKey (RawUI) 사용
  4. PowerShell에서 press any key to continue 활성화에 Read-Host 사용
  5. PowerShell에서 press any key to continue 활성화에 cmd /c 'pause' 명령 사용
  6. PowerShell에서 press any key to continue 활성화에 timeout 사용
  7. 결론
PowerShell에서 계속 진행하기 위해 아무 키나 누르라고 표시하는 방법

PowerShell 스크립팅에서 press any key to continue 기능을 활성화하는 것은 상호작용하는 커맨드 라인 애플리케이션을 만들거나 사용자에게 피드백을 제공할 때 일반적으로 요구되는 사항입니다. 이 기능을 달성하는 여러 가지 방법이 있으며, 각 방법은 고유한 장점과 사용 사례를 가지고 있습니다.

이 기사에서는 PowerShell 스크립트에서 press any key to continue 기능을 구현하는 다양한 방법을 탐구하며, 내장 cmdlet에서 외부 명령 및 COM 객체를 활용하는 것까지 포함합니다.

PowerShell에서 press any key to continue 활성화에 ReadKey (System.Console) 사용

PowerShell의 [System.Console]::ReadKey() 방법은 사용자가 표준 입력 스트림(일반적으로 키보드)에서 누른 다음 키 또는 함수 키를 읽는 데 사용됩니다. 인수 없이 호출되면 이 방법은 사용자가 키를 누를 때까지 기다리고, 누른 키를 나타내는 [System.ConsoleKeyInfo] 유형의 객체를 반환합니다.

System.Console ReadKey는 아래와 같이 실행할 수 있습니다. Shift, Alt, Ctrl 및 다른 변형 키를 제외한 모든 키를 수용합니다.

$keyInfo = [System.Console]::ReadKey($true)
Write-Host "Key Pressed: $($keyInfo.KeyChar)"

코드 라인 $keyInfo = [System.Console]::ReadKey($true)에서 우리는 사용자 입력을 포착하기 위해 [System.Console]::ReadKey() 방법을 사용하고 있습니다. $true를 인수로 전달함으로써, 누른 키가 콘솔 창에 표시되지 않도록 함을 나타냅니다.

이로 인해 콘솔이 불필요한 문자로 어지럽혀지는 것을 방지하여 더 깔끔한 사용자 경험을 제공합니다. $keyInfo의 출력을 표시하기 위해 우리는 점 표기법을 사용하여 그 속성에 접근할 수 있습니다.

출력:

powershell 어떤 키를 눌러 계속 진행하십시오 - 출력 1

PowerShell에서 press any key to continue 활성화에 ReadKey (Console) 사용

[Console]::ReadKey()를 사용하여 PowerShell에서 press any key to continue를 활성화할 수 있습니다. 이 방법은 키와 변형 키를 읽으면서 실행을 일시 중지합니다. Shift, Alt, Ctrl 및 다른 변형 키를 제외합니다.

$keyInfo = [Console]::ReadKey()

라인 $keyInfo = [Console]::ReadKey()에서 우리는 사용자 입력을 포착하기 위해 [Console]::ReadKey() 방법을 활용합니다. 이 방법은 사용자가 키를 누를 때까지 기다리며, 누른 키를 나타내는 객체를 반환하여 변수 $keyInfo에 저장합니다.

출력:

powershell 아무 키나 눌러 계속 진행 - 출력 2

PowerShell에서 press any key to continue 활성화에 ReadKey (RawUI) 사용

PowerShell의 $Host.UI.RawUI.ReadKey() 방법은 사용자가 콘솔 입력에서 누른 다음 키 또는 함수 키를 읽는 데 사용됩니다. 호출되면 이 방법은 사용자가 키를 누를 때까지 기다리며, 누른 키를 나타내는 객체를 반환합니다.

이 객체는 누른 키의 유니코드 문자에 해당하는 Character 및 키가 눌렸는지를 나타내는 KeyDown과 같은 속성을 포함합니다.

이 방법은 [Console]::ReadKey()와 유사합니다. Ctrl, Shift, Alt 및 다른 변형 키를 포함하여 모든 키를 수용합니다.

RawUI ReadKey 방법에 전달할 수 있는 다양한 ReadKeyOptions가 있으며, 예를 들어 IncludeKeyDown, IncludeKeyUp, NoEcho, AllowCtrlC가 있습니다.

예제:

$keyInfo = $Host.UI.RawUI.ReadKey()

이 예제에서는 $Host.UI.RawUI.ReadKey()를 사용하여 사용자가 누른 키를 포착하고 $keyInfo 변수에 저장합니다. 이 방법은 사용자가 키를 누를 때까지 기다리며, 누른 키를 나타내는 객체를 반환합니다.

$keyInfo 객체는 누른 키의 문자에 해당하는 Character 및 키가 눌렸는지를 나타내는 KeyDown과 같은 속성을 포함합니다.

출력:

파워셸 아무 키나 눌러 계속 진행 - 출력 3

PowerShell에서 press any key to continue 활성화에 Read-Host 사용

PowerShell의 Read-Host cmdlet은 콘솔 창에서 사용자 입력을 포착하는 데 사용되는 다목적 도구입니다. 그 주요 목적은 사용자에게 프롬프트 메시지를 표시하고 값을 입력할 때까지 기다리는 것으로, 입력된 값은 스크립트 내에서 추가 처리할 수 있도록 변수에 저장됩니다.

예제:

Read-Host -Prompt "Press any key to continue"

이 예제에서는 -Prompt 매개변수로 Read-Host를 사용하여 사용자에게 "Press any key to continue..." 메시지를 표시합니다. 이 시점에서 스크립트는 실행을 일시 중지하고, 사용자가 어떤 텍스트를 입력한 후 Enter 키를 누르기를 기다립니다.

정확히 press any key는 아니지만, 이 방법은 사용자가 진행하기 전에 입력을 요구함으로써 유사한 결과를 달성합니다.

출력:

powershell 키를 눌러 계속 진행 - 출력 4

PowerShell에서 press any key to continue 활성화에 cmd /c 'pause' 명령 사용

PowerShell 스크립팅에서 cmd /c 'pause' 방법은 스크립트 실행을 일시 중지하고 사용자의 확인을 기다리는 간단한 방법을 제공합니다. 이 방법은 커맨드 프롬프트 내에서 pause 명령을 실행하기 위해 cmd 명령을 활용합니다.

실행되면 pause 명령은 "Press any key to continue . . ."라는 메시지를 표시하고, 스크립트가 계속 실행되도록 하기 위해 사용자가 어떤 키라도 누르기를 기다립니다.

예제:

cmd /c pause

이 예제에서는 cmd /c 'pause' 명령을 사용하여 스크립트 실행을 일시 중지하고 사용자 입력을 기다립니다. 실행되면 커맨드 프롬프트 창에 "Press any key to continue . . ."라는 메시지가 표시되고, 사용자가 어떤 키라도 누르기를 기다린 후 스크립트가 계속 실행됩니다.

출력:

파워쉘 계속하려면 아무 키나 누르세요 - 출력 5

PowerShell에서 press any key to continue 활성화에 timeout 사용

timeout 명령은 특정 시간 또는 무한한 시간 동안 실행을 일시 중지할 수 있습니다. /t 옵션을 사용하여 초 단위로 시간을 지정할 수 있습니다.

지정된 시간 초과 값의 유효 범위는 -1에서 99999까지입니다.

예제:

timeout /t 5

이 예제에서는 timeout 명령을 사용하여 스크립트 실행을 5초 동안 일시 중지합니다. 이는 사용자가 진행하기 전에 5초를 기다리도록 프롬프트를 생성합니다.

출력:

파워셸 아무 키나 눌러 계속 진행하십시오 - 출력 6

-1 값은 키가 눌리지 않았을 경우 무한한 시간 동안 실행을 일시 중지하는 데 사용됩니다.

timeout /t -1

출력:

파워셸 아무 키나 눌러 계속 진행 - 출력 7

결론

PowerShell 스크립트에서 press any key to continue 기능을 구현하는 것은 상호작용적이고 사용자 친화적인 커맨드 라인 애플리케이션을 만드는 데 필수적입니다. [System.Console]::ReadKey(), [Console]::ReadKey(), Read-Host, cmd /c 'pause', timeout, 및 WScript.Shell Popup과 같은 방법을 활용하면 스크립트 작성자는 사용자에게 명확한 프롬프트를 제공하고 사용자 확인이 있을 때까지 실행을 일시 중지할 수 있습니다.

각 방법은 고유한 기능을 제공하며 특정 요구를 충족하도록 조정할 수 있어 원활한 사용자 경험과 향상된 스크립트 상호작용을 보장합니다. 정보 제공 메시지를 표시하거나, 작업을 확인하거나, 인터랙티브 유틸리티를 생성하는 데 있어 PowerShell은 다양한 스크립팅 요구를 충족하기 위한 다목적 도구를 제공합니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website