PowerShell의 확인 프롬프트
-
PowerShell에서 확인 프롬프트에
-Confirm
스위치 사용 -
PowerShell에서 확인 프롬프트에
if
문 사용 -
PowerShell에서 확인 프롬프트에
PromptForChoice()
메서드 사용
확인 프롬프트의 일반적인 아이디어는 다른 작업 간에 전환하는 옵션을 만드는 것입니다. 예를 들어, 사용자가 예
를 선택하면 스크립트가 계속되어야 하고 사용자가 아니오
를 선택하면 스크립트가 종료되어야 합니다.
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에서 확인 프롬프트에 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에서 사용자에게 예/아니요
확인 메시지를 표시하는 방법을 이해하는 데 도움이 되기를 바랍니다.