about_Operators

업데이트 날짜: 2014년 12월

적용 대상: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0

항목

about_Operators

간단한 설명

Windows PowerShell에서 지원되는 연산자를 설명합니다.

자세한 설명

연산자는 명령이나 식에서 사용할 수 있는 언어 요소입니다. Windows PowerShell에서는 값을 조작하도록 도와주는 다양한 연산자 형식을 지원합니다.

산술 연산자

산술 연산자(+, -, *, /, %)를 사용하여 명령이나 식에서 값을 계산합니다. 이들 연산자를 사용하여 값을 더하거나, 빼거나, 곱하거나, 나누고 나누기 연산의 나머지(모듈러스)를 계산합니다.

산술 연산자는 문자열, 배열 및 해시 테이블에서도 사용할 수 있습니다. 더하기 연산자는 요소를 연결합니다. 곱하기 연산자는 각 요소의 복사본을 지정된 수만큼 반환합니다.

자세한 내용은 about_Arithmetic_Operators를 참조하세요.

대입 연산자

대입 연산자(=, +=, -=, *=, /=, %=)를 사용하여 하나 이상의 값을 변수에 할당하고, 변수에서 값을 변경하고, 값을 변수에 추가합니다. 문자열이나 DateTime 또는 Process 변수와 같은 Microsoft .NET Framework 데이터 형식으로 변수를 캐스팅할 수도 있습니다.

자세한 내용은 about_Assignment_Operators를 참조하세요.

비교 연산자

비교 연산자(-eq, -ne, -gt, -lt, -le, -ge)를 사용하여 값을 비교하고 조건을 테스트합니다. 예를 들어 두 문자열 값을 비교하여 두 문자열이 같은지 판별할 수 있습니다.

비교 연산자에는 정규식을 사용하여 패턴을 찾는 일치 연산자(-match, -notmatch), 정규식을 사용하여 입력 값을 변경하는 대체 연산자(-replace), 와일드카드 문자(*)를 사용하여 패턴을 찾는 Like 연산자(-like, -notlike), 테스트 값이 참조 집합에 나타나는지를 판별하는 포함 연산자(-in, -notin, -contains, -notcontains)가 포함됩니다.

또한 값에서 비트 패턴을 조작하기 위한 비트 연산자(-bAND, -bOR, -bXOR, -bNOT)가 포함됩니다.

자세한 내용은 about_Comparison_Operators를 참조하세요.

논리 연산자

논리 연산자(-and, -or, -xor, -not, !)를 사용하여 하나의 복잡한 조건에 조건문을 연결합니다. 예를 들어 논리 -and 연산자를 사용하여 두 가지 조건이 포함된 개체 필터를 만들 수 있습니다.

자세한 내용은 about_Logical_Operators를 참조하세요.

리디렉션 연산자

리디렉션 연산자(>, >>, 2>, 2> 및 2>&1)를 사용하여 명령이나 식의 출력을 텍스트 파일로 보냅니다. 리디렉션 연산자는 매개 변수 없이 Out-File cmdlet처럼 작동하지만 이를 통해 오류 출력을 지정된 파일로 리디렉션할 수도 있습니다. Tee-Object cmdlet을 사용하여 출력을 리디렉션할 수도 있습니다.

자세한 내용은 about_Redirection을 참조하세요.

분할 및 조인 연산자

-split 및 -join 연산자는 하위 문자열을 나누고 결합합니다. –split 연산자는 한 문자열을 하위 문자열로 분할합니다. -join 연산자는 여러 문자열을 단일 문자열로 연결합니다.

자세한 내용은 about_Split 및 about_Join을 참조하세요.

형식 연산자

형식 연산자(-is, -isnot, -as)를 사용하여 개체의 .NET Framework 형식을 찾거나 변경합니다.

자세한 내용은 about_Type_Operators를 참조하세요.

단항 연산자

단항 연산자를 사용하여 변수 또는 개체 속성을 늘리거나 줄이고 정수를 양수 또는 음수로 설정합니다. 예를 들어 변수 $a를 9에서 10으로 늘리려면 $a++를 입력합니다.

특수 연산자

특수 연산자를 사용하여 다른 형식 연산자가 수행할 수 없는 작업을 수행합니다. 예를 들어 특수 연산자를 사용하여 명령 실행 및 값 데이터 형식 변경 등의 연산을 수행할 수 있습니다.

@( ) 배열 하위 식 연산자

문 하나 이상의 결과를 배열로 반환합니다. 항목이 하나마 있으면 배열에는 하나의 멤버만 있습니다.

             @(Get-WMIObject win32_logicalDisk)

& 호출 연산자

명령, 스크립트 또는 스크립트 블록을 실행합니다. 호출 연산자를 사용하여 변수에 저장되고 문자열로 표현되는 명령을 실행할 수 있습니다. 호출 연산자는 명령을 구문 분석하지 않으므로 명령 매개 변수를 해석할 수 없습니다.

             C:\PS> $c = "get-executionpolicy"
             C:\PS> $c
             get-executionpolicy
 
             C:\PS> & $c
             AllSigned

[ ] 캐스트 연산자

개체를 지정된 형식으로 변환하거나 제한합니다. 개체를 변환할 수 없으면 Windows PowerShell에서 오류가 발생합니다.

             [datetime]$birthday = "1/20/88"
             [int64]$a = 34  

, 쉼표 연산자

이항 연산자인 쉼표로는 배열을 만듭니다. 단항 연산자인 쉼표로는 단일 멤버가 포함된 배열을 만듭니다. 쉼표를 멤버 앞에 배치합니다.

             $myArray = 1,2,3 
             $SingleArray = ,1     

. 도트 소싱 연산자

스크립트에서 생성된 함수, 별칭 및 변수가 현재 범위에 추가되도록 현재 범위에서 스크립트를 실행합니다.

             . c:\scripts.sample.ps1

참고: 도트 소싱 연산자 뒤에 공백이 추가됩니다. 공백을 사용하여 현재 디렉터리를 나타내는 마침표(.) 기호와 도트를 구분합니다.

다음 예제에서는 현재 디렉터리의 Sample.ps1 스크립트가 현재 범위에서 실행됩니다.

                 . .\sample.ps1

-f 형식 연산자

문자열 개체의 format 메서드를 사용하여 문자열 형식을 지정합니다. 연산자 왼쪽에 형식 문자열을 입력하고 연산자 오른쪽에 형식을 지정할 개체를 입력합니다.

             C:\PS> "{0} {1,-10} {2:N}" -f 1,"hello",[math]::pi
             1 hello      3.14

자세한 내용은 String.Format 메서드(https://go.microsoft.com/fwlink/?LinkID=166450) 및 복합 형식 지정(https://go.microsoft.com/fwlink/?LinkID=166451)을 참조하세요.

[ ] 인덱스 연산자

배열 및 해시 테이블 등의 인덱싱된 컬렉션에서 개체를 선택합니다. 배열 인덱스는 0부터 시작되므로 첫 번째 개체는 [0]으로 인덱싱됩니다. 배열(전용)에 대한 마지막 값을 가져오는 데 음수 인덱스를 사용할 수도 있습니다. 해시 테이블은 키 값으로 인덱싱됩니다.

             C:\PS> $a = 1, 2, 3
             C:\PS> $a[0]
             1
             C:\PS> $a[-1]
             3


             C:\PS> (get-hotfix | sort installedOn)[-1]

           
             C:\PS> $h = @{key="value"; name="Windows PowerShell"; version="2.0"}
             C:\PS> $h["name"]
             Windows PowerShell


             C:\PS> $x = [xml]"<doc><intro>Once upon a time...</intro></doc>"
             C:\PS> $x["doc"]
             intro
             -----
             Once upon a time...

| 파이프라인 연산자

연산자 앞에 있는 명령의 출력을 연산자 뒤에 있는 명령으로 보냅니다("파이프"). 출력에 개체("컬렉션")가 두 개 이상 포함되면 파이프라인 연산자는 개체를 한 번에 하나씩 보냅니다.

               get-process | get-member
               get-pssnapin | where {$_.vendor -ne "Microsoft"}                              

. 속성 역참조 연산자

개체의 속성 및 메서드에 액세스합니다.

             $myProcess.peakWorkingSet
             (get-process PowerShell).kill()

.. 범위 연산자

상한 및 하한이 있을 경우 정수 배열에서 순차적 정수를 나타냅니다.

             1..10
             10..1
             foreach ($a in 1..$max) {write-host $a}

:: 정적 멤버 연산자

.NET Framework 클래스의 정적 속성 연산자 및 메서드를 호출합니다. 개체의 정적 속성 및 메서드를 찾으려면 Get-Member cmdlet의 정적 매개 변수를 사용합니다.

             [datetime]::now
   

$( ) 하위 식 연산자

문 하나 이상의 결과를 반환합니다. 단일 결과를 스칼라로 반환합니다. 여러 결과를 배열로 반환합니다.

             $($x * 23)
             $(Get-WMIObject win32_Directory)

참고 항목

about_arithmetic_operators

about_assignment_operators

about_comparison_operators

about_Logical_Operators

about_Type_Operators

about_Split

about_join

about_Redirection