PowerShell For 루프가 명령을 여러 번 실행할 수 있는 방법


For 루프는 가장 많은 모든 프로그래밍 언어의 유용한 도구 중 하나이며 Microsoft PowerShell도 다르지 않습니다. 다른 루프를 사용하여 명령을 반복할 수 있지만 아마도 For 루프가 가장 간단할 것입니다.

배열 반복부터 미리 결정된 횟수만큼 기능을 수행하는 것까지 이 도구를 사용하면 다양한 작업을 수행할 수 있습니다. 다음은 PowerShell에서 For 루프를 사용하는 방법에 대한 튜토리얼입니다.

PowerShell에서 For 루프를 사용하는 방법은 무엇인가요?

명령 프롬프트 과 달리 PowerShell은 완전한 스크립팅 환경입니다. 이는 수동으로 명령을 입력하는 대신 재사용 가능한 파워셸 스크립트 를 작성하여 작업을 자동으로 수행할 수 있음을 의미합니다. 그리고 For 루프는 이러한 모듈을 작성하는 데 핵심입니다.

For 문은 스크립트 블록을 특정 횟수만큼 반복하여 진행 상황을 추적하기 위해 주어진 변수를 수정합니다. 이를 통해 다소 흥미로운 시나리오에 루프를 사용할 수 있습니다.

숫자 시퀀스를 생성하거나, 소수를 결정하거나, 카운트다운 타이머를 표시할 수 있습니다. 보다 실질적으로 개체 배열을 반복하여 각 항목에 대해 몇 가지 작업을 수행할 수 있습니다.

PowerShell의 For 루프 구문

For 루프는 모든 프로그래밍 언어에서와 동일한 방식으로 Windows PowerShell에서 작동합니다. 추적 변수를 초기화하고 해당 값을 테스트하며 변수를 수정하는 표현식은 세미콜론으로 구분된 "For" 뒤의 괄호 안에 포함됩니다. 그런 다음 중괄호로 묶인 명령문 목록 자체가 나옵니다.

(초기화; 조건; 업데이트)

{

    스크립트 블록

}

PowerShell 스크립트에서 For 루프를 사용하는 방법

For 루프를 사용하는 것은 매우 간단합니다. 약간씩 다른 단계를 반복해야 하는 상황에 직면할 때마다 이를 For 루프에 넣어야 합니다.

변수 $n에 포함된 숫자 n까지의 모든 자연수의 합을 찾을 수 있는 코드 조각을 작성해야 한다고 가정해 보겠습니다. 다음은 기본적인 For 루프 예시입니다:

$n = 10

$합계 = 0

($i = 1 ; $i -le $n ; $i++)

{

    $sum = $sum + $i

}

“$n개의 자연수의 합은 $sum입니다.”

For 루프를 통해 배열에 액세스

.

숫자 시퀀스를 생성하는 것은 대부분의 사람들이 PowerShell을 사용하는 용도가 아닙니다. 보다 일반적인 사용법은 배열을 반복하는 것입니다.

7개의 요소로 구성된 $week 배열이 있다고 가정해 보겠습니다. 다음 예와 같이 간단한 For 루프를 사용하여 배열에 포함된 날짜 목록을 출력할 수 있습니다.

($i = 0 ; $i -lt $week.Length ; $i++)

{

    $주[$i]

}

ForEach 루프를 사용하여 배열을 빠르게 반복

For 루프의 또 다른 형태는 ForEach 문입니다. 이 버전은 PowerShell 배열의 내용을 살펴보고 개별적으로 처리하는 것을 단순화합니다. 예를 들어 이전 코드 조각은 다음과 같이 다시 작성할 수 있습니다.

Foreach($week의 $day)

{

    $일

}

더 복잡한 개체를 처리할 때는 Foreach-Object cmdlet을 사용하여 PowerShell 명령의 내용에 대한 작업을 수행할 수도 있습니다.

For 루프는 다른 유형의 루프와 어떻게 다른가요?

For 루프는 사용할 수 있는 유일한 루프 문 유형이 아닙니다. 대부분의 프로그래밍 언어와 마찬가지로 PowerShell에는 여러 유형의 루프가 있습니다.

그동안

가장 간단한 것은 While 루프입니다. 조건과 스크립트 블록만 있으면 테스트 표현식이 true로 평가되는 한 루프가 실행됩니다. 표현식이 먼저 평가되므로 코드가 전혀 실행되지 않거나 무한 루프로 끝날 가능성이 있습니다.

동안(조건)

{

    스크립트 블록

}

하는 동안

표현식이 false로 평가되더라도 최소한 한 번은 실행해야 하는 스크립트를 작성하는 경우 Do-While 루프를 사용할 수 있습니다. While 루프와의 유일한 차이점은 명령 블록을 조건 앞에 배치한다는 것입니다. 즉, 테스트 표현식이 처음으로 확인되기 전에 코드가 실행됩니다.

하세요 {

    스크립트 블록

}

동안 (조건)

기한까지

이 루프의 또 다른 버전은 Do-Until입니다. 기본적으로 코드 블록을 실행한 다음 테스트 표현식이 true가 될 때까지 반복합니다. 이는 Do-While 루프의 반대입니다. 표준 Do-While 루프에서 조건을 수정하여 동일한 결과를 얻을 수 있으므로 특별히 유용한 구조는 아닙니다..

하세요 {

    스크립트 블록

}

(조건)까지

For 루프가 더 나은 이유

이러한 다른 모든 루프 구조의 문제점은 초기 값이나 업데이트 문을 포함하지 않는다는 것입니다. 루프 외부에서 변수를 생성한 다음 루프를 통과할 때마다 변수를 증가(또는 감소)시키는 것을 수동으로 기억해야 합니다.

예상할 수 있듯이 프로그래머는 종종 이 단계를 잊어버리고 의도한 대로 작동하지 않는 스크립트를 작성하게 됩니다. 이는 디버깅에 귀중한 시간을 낭비합니다.

For 루프는 시작 괄호 안에 초기화 및 증분 표현식을 필요로 하여 이 문제를 방지합니다. 이를 통해 더욱 깔끔하고 강력한 스크립트가 탄생합니다.

PowerShell에서 언제 For 루프를 사용해야 합니까?

PowerShell은 자동화를 위한 스크립트 생성에 관한 모든 것입니다. 그리고 아마도 이를 달성하는 데 가장 유용한 도구는 For 루프일 것입니다. 이를 사용하여 많은 복사-붙여넣기 작업을 보다 간결하고 우아한 스크립트로 대체할 수 있습니다.

이 루프의 가장 일반적인 기능은 한 번에 한 항목씩 배열을 반복하는 것입니다. 더욱 효율적인 스크립트를 위해 ForEach 루프를 사용할 수도 있습니다. For 루프를 사용하여 숫자 시퀀스를 생성할 수도 있지만 거의 필요하지 않습니다.

For 루프는 루프의 모든 필수 기능을 매개변수에 포함하여 해당 문을 잊어버려서 발생하는 오류를 방지함으로써 다른 루프 알고리즘보다 점수가 높습니다. 이로 인해 일련의 명령을 반복해야 하는 모든 시나리오에서 For 루프가 필수 불가결해졌습니다.

.

관련 게시물:


5.04.2022