Powershell ForEach Loop 문 튜토리얼을 예제와 함께
ForEach
는 PowerShell 문을 사용하는 데 사용되는 반복 또는 반복을 통해 주어진 목록 또는 배열 컬렉션의 개체,문자열,숫자,등등. ForEach 은 매우 인기있는 루프 메커니즘 우리가 사용할 수 있는 다른 경우 루프를 통해 파일,숫자,문자열,프로세스,등등. Powershell 버전 4.0 은ForEach
루프에 약간의 성능 향상을 제공합니다.
PowerShell ForEach 구
Foreach 문의 구문은 다음과 같습니다 우리가 사용하는ITEM
COLLECTION
CODE-BLOCK
.
ForEach(ITEM in COLLECTION){ CODE BLOCK}
- 항목은 각 반복마다 변경되는 단일 값 또는 객체입니다.
- COLLECTION 은 배열,컬렉션,값 목록 또는 1,2,3,4 와 같은 객체입니다.
- 코드 블록은 일반적으로 항목을 사용하는 실제 작업이 실행되는 블록입니다. 이 블록은 단일 또는 다중 라인일 수 있습니다.
Foreach 문자열 배열을 통해
간단한 방법으로 문자열 배열의 주어진 목록을 반복 할 수 있습니다. 여러 도시 이름을 보유하고있는”도시”라는 배열을 반복합니다. 우리는 아래와 같이”에코”명령으로 각 도시 이름을 인쇄 할 것입니다.
$cities = ("istanbul,ankara,canakkale")foreach ($city in $cities){ echo $city}
우리가 볼 수 있는 모든 도시 이름이 인쇄 powershell 터미널에서 하나의 라인입니다.
Foreach 숫자 모음을 통해
이전 예제에서는 주어진 문자열 목록을 반복했습니다. 숫자 목록을 반복하거나 반복 할 수도 있습니다. 우리는numbers
라는 배열을 만들고이 숫자 배열의 각 항목을 반복합니다.
$numbers=(1,2,3,4,5)foreach ($number in $numbers){ echo $number}
$_사용
사용할 경우 일부 cmdlet 출력을 리디렉션의 cmdlet Foreach 우리가 사용할 수 있습니다”$”각 품목 또는 개체입니다. 예를 들어,”Get-Process”cmdlet 을 사용하면 각 항목이나 프로세스가 각 반복에서$
$.Name
와 같은 속성을 지정하고 아래와 같이 인쇄 할 수 있습니다.
PS> Get-Process | ForEach-Object {$_.ProcessName}
We can also print multiple attributes in foreach by delimiting them with comma.
PS> Get-Process | ForEach-Object {$_.ProcessName, $_.ID}
Foreach Through Files
We can also loop through files by using Get-ChildItem
cmdlet. Get-ChildItem
dir
MSDOS 명령과 같은 파일 및 폴더를 나열합니다. 이 출력은Echo
명령으로 콘솔에 기록됩니다.
foreach($file in Get-ChildItem) {Echo $file}
Foreach 을 통해 특정 파일 확장자 같은 박쥐
우리는 특히 목록을 지정한 확장자. 확장자는 일반적으로 텍스트,avi,mkv,mp3,doc 등과 같은 파일 형식을 제공합니다. 이 예에서는*.bat
또는 Bat 파일 만 나열합니다.
foreach($file in Get-ChildItem *.bat) {Echo $file}
우리가 볼 수 있는 파일만 다음과 같test.bat
autoexec.bat
나열됩니다.
FOREACH OVER CSV 파일
CSV 파일은 텍스트 데이터를 구조화 된 방식으로 저장하는 데 사용됩니다. 아래처럼 CSV 파일의 각 줄에 쉽게 foreach 할 수 있습니다. 이 예에서는 IP CSV 파일을 읽고 Powershell 콘솔을 인쇄하기 위해foreach
에 제공합니다.나는 이것을 할 수 없다.