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