PowerShell의 확인 프롬프트

Rohan Timalsina 2024년2월15일
  1. PowerShell에서 확인 프롬프트에 -Confirm 스위치 사용
  2. PowerShell에서 확인 프롬프트에 if 문 사용
  3. PowerShell에서 확인 프롬프트에 PromptForChoice() 메서드 사용
PowerShell의 확인 프롬프트

확인 프롬프트의 일반적인 아이디어는 다른 작업 간에 전환하는 옵션을 만드는 것입니다. 예를 들어, 사용자가 를 선택하면 스크립트가 계속되어야 하고 사용자가 아니오를 선택하면 스크립트가 종료되어야 합니다.

PowerShell은 -Confirm 스위치를 사용하여 작업을 수행하기 전에 자동으로 사용자에게 확인을 요청할 수 있습니다.

이 자습서에서는 PowerShell에서 진행할 작업에 대해 사용자에게 확인을 요청하는 다양한 방법을 소개합니다.

PowerShell에서 확인 프롬프트에 -Confirm 스위치 사용

PowerShell에는 운영 환경에 영향을 미치고 동작을 사용자 지정할 수 있는 기본 설정 변수 집합이 있습니다. $ConfirmPreference는 PowerShell이 cmdlet 또는 함수를 실행하기 전에 자동으로 확인 메시지를 표시할지 여부를 결정하는 기본 설정 변수 중 하나입니다.

낮음, 중간 또는 높음 위험이 있는 cmdlet 또는 기능을 실행하기 전에 확인 메시지를 표시하는 데 도움이 됩니다. 대부분의 cmdlet 및 기능은 중간 위험이므로 변수 값이 높음으로 설정되어 있는지 확인을 요청하지 않습니다.

$ConfirmPreference

출력:

High

사용자에게 확인 메시지를 표시하려면 명령에 -확인 스위치를 사용해야 합니다. 명령이 PowerShell에서 확인 프롬프트를 표시하도록 합니다.

-Confirm 스위치를 사용하는 더 간단한 방법은 Remove-Item cmdlet에서 사용하는 것입니다. 이 cmdlet은 더 간단한 명령으로 확인 작업을 생성할 수 있습니다.

다음 명령은 사용 예를 보여줍니다.

Remove-Item test.txt -Confirm

출력:

Confirm
Are you sure you want to perform this action?
Performing the operation "Remove File" on target "C:\Users\rhntm\test.txt".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): N

PowerShell의 GUI에서는 다음과 같이 표시됩니다.

powershell에서 스위치 프롬프트 확인

PowerShell에서 확인 프롬프트에 if 문 사용

if 문을 사용하고 사용자를 위해 계속할 조건을 제공할 수도 있습니다.

예를 들어 다음 명령은 사용자에게 계속할지 여부를 확인하도록 요청합니다. 대답이 y인 경우 중괄호 안의 명령만 실행됩니다.

$confirmation = Read-Host "Do you want to continue?"
if ($confirmation -eq 'y') {
Write-Host "Welcome to DelftStack."
}

출력:

Do you want to continue?: y
Welcome to DelftStack.

Read-Host cmdlet은 사용자의 입력을 읽는 데 사용됩니다.

PowerShell에서 확인 프롬프트에 PromptForChoice() 메서드 사용

PowerShell에서는 PromptForChoice() 메서드를 사용하여 사용자에게 확인 메시지를 표시할 수도 있습니다. 사용자가 옵션 세트에서 하나의 옵션을 선택하고 선택에 따라 작업을 진행할 수 있는 대화 상자를 표시합니다.

다음 명령은 사용자에게 예/아니오 입력을 요구하는 예입니다. 사용자가 를 선택하면 대괄호 {} 안의 첫 번째 명령이 실행됩니다.

$title    = 'Confirm'
$question = 'Do you want to continue?'
$choices  = '&Yes', '&No'

$decision = $Host.UI.PromptForChoice($title, $question, $choices, 1)
if ($decision -eq 0) {
    Write-Host 'Your choice is Yes.'
} else {
    Write-Host 'Your choice is No.'
}

출력:

Confirm
Do you want to continue?
[Y] Yes  [N] No  [?] Help (default is "N"): Yes
Your choice is Yes.

결과적으로 Your choice is Yes. 출력이 표시됩니다. 인쇄됩니다.

사용자가 아니오를 선택하면 대괄호 안의 두 번째 명령이 실행됩니다.

출력:

Confirm
Do you want to continue?
[Y] Yes  [N] No  [?] Help (default is "N"): No
Your choice is No.

따라서 당신의 선택은 아니오입니다. 인쇄됩니다.

PowerShell의 GUI 버전에서 위의 스크립트를 실행하면 확인 대화 상자를 볼 수 있습니다.

powershell의 PromptForChoice 확인 프롬프트

이 자습서가 PowerShell에서 사용자에게 예/아니요 확인 메시지를 표시하는 방법을 이해하는 데 도움이 되기를 바랍니다.

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