Articles

Powershell ForEach Loop 문 튜토리얼을 예제와 함께

ForEach는 PowerShell 문을 사용하는 데 사용되는 반복 또는 반복을 통해 주어진 목록 또는 배열 컬렉션의 개체,문자열,숫자,등등. ForEach 은 매우 인기있는 루프 메커니즘 우리가 사용할 수 있는 다른 경우 루프를 통해 파일,숫자,문자열,프로세스,등등. Powershell 버전 4.0 은ForEach루프에 약간의 성능 향상을 제공합니다.

PowerShell ForEach 구

Foreach 문의 구문은 다음과 같습니다 우리가 사용하는ITEMCOLLECTIONCODE-BLOCK.

ForEach(ITEM in COLLECTION){ CODE BLOCK}
  • 항목은 각 반복마다 변경되는 단일 값 또는 객체입니다.
  • COLLECTION 은 배열,컬렉션,값 목록 또는 1,2,3,4 와 같은 객체입니다.
  • 코드 블록은 일반적으로 항목을 사용하는 실제 작업이 실행되는 블록입니다. 이 블록은 단일 또는 다중 라인일 수 있습니다.

Foreach 문자열 배열을 통해

간단한 방법으로 문자열 배열의 주어진 목록을 반복 할 수 있습니다. 여러 도시 이름을 보유하고있는”도시”라는 배열을 반복합니다. 우리는 아래와 같이”에코”명령으로 각 도시 이름을 인쇄 할 것입니다.

$cities = ("istanbul,ankara,canakkale")foreach ($city in $cities){ echo $city}
ForeachThrough 배열의 문자열

우리가 볼 수 있는 모든 도시 이름이 인쇄 powershell 터미널에서 하나의 라인입니다.

Foreach 숫자 모음을 통해

이전 예제에서는 주어진 문자열 목록을 반복했습니다. 숫자 목록을 반복하거나 반복 할 수도 있습니다. 우리는numbers라는 배열을 만들고이 숫자 배열의 각 항목을 반복합니다.

$numbers=(1,2,3,4,5)foreach ($number in $numbers){ echo $number}
Foreach 를 통해 수집의 숫자

$_사용

사용할 경우 일부 cmdlet 출력을 리디렉션의 cmdlet Foreach 우리가 사용할 수 있습니다”$”각 품목 또는 개체입니다. 예를 들어,”Get-Process”cmdlet 을 사용하면 각 항목이나 프로세스가 각 반복에서$$.Name와 같은 속성을 지정하고 아래와 같이 인쇄 할 수 있습니다.

PS> Get-Process | ForEach-Object {$_.ProcessName}
$_ Usage

We can also print multiple attributes in foreach by delimiting them with comma.

PS> Get-Process | ForEach-Object {$_.ProcessName, $_.ID}
$_ Usage

Foreach Through Files

We can also loop through files by using Get-ChildItem cmdlet. Get-ChildItemdirMSDOS 명령과 같은 파일 및 폴더를 나열합니다. 이 출력은Echo명령으로 콘솔에 기록됩니다.

foreach($file in Get-ChildItem) {Echo $file}
Foreach 를 통해 파일

Foreach 을 통해 특정 파일 확장자 같은 박쥐

우리는 특히 목록을 지정한 확장자. 확장자는 일반적으로 텍스트,avi,mkv,mp3,doc 등과 같은 파일 형식을 제공합니다. 이 예에서는*.bat또는 Bat 파일 만 나열합니다.

 foreach($file in Get-ChildItem *.bat) {Echo $file}
Foreach 을 통해 특정 파일 확장자 같은 박쥐

우리가 볼 수 있는 파일만 다음과 같test.batautoexec.bat나열됩니다.

FOREACH OVER CSV 파일

CSV 파일은 텍스트 데이터를 구조화 된 방식으로 저장하는 데 사용됩니다. 아래처럼 CSV 파일의 각 줄에 쉽게 foreach 할 수 있습니다. 이 예에서는 IP CSV 파일을 읽고 Powershell 콘솔을 인쇄하기 위해foreach에 제공합니다.나는 이것을 할 수 없다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다