경로의 모든 요소가 있는지 여부를 확인합니다.

구문

Test-Path [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Include <string[]>] [-IsValid] [-PathType {<Any> | <Container> | <Leaf>}] [-UseTransaction] [<CommonParameters>]

Test-Path [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Include <string[]>] [-IsValid] [-PathType {<Any> | <Container> | <Leaf>}] [-UseTransaction] [<CommonParameters>]

설명

Test-Path cmdlet은 경로의 모든 요소가 있는지 여부를 확인합니다. 이 명령은 모든 요소가 있으면 TRUE ($true)를, 하나 이상의 요소가 없으면 FALSE ($false)를 반환합니다. 또한 경로 구문이 올바른지 여부와, 경로가 컨테이너인지 아니면 터미널(리프) 요소인지 확인할 수 있습니다.

매개 변수

-Credential <PSCredential>

이 작업을 수행할 수 있는 권한을 가진 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다.

"User01" 또는 "Domain01\User01"과 같은 사용자 이름을 입력합니다. 또는 Get-Credential cmdlet에 의해 생성된 개체와 같은 PSCredential 개체를 입력합니다. 사용자 이름을 입력하면 암호를 묻는 메시지가 표시됩니다.

이 매개 변수는 Windows PowerShell과 함께 설치된 어떤 공급자에서도 지원되지 않습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Exclude <string[]>

지정된 항목을 생략합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: "*.txt")을 입력하십시오. 와일드카드를 사용할 수 있습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Filter <string>

공급자의 형식 또는 언어에 필터를 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 와일드카드 사용을 포함하여 필터의 구문은 공급자에 따라 다릅니다. 공급자는 개체를 검색한 후에 Windows PowerShell을 통해 해당 개체를 필터링하는 대신 개체를 검색할 때 필터를 적용하기 때문에 필터는 다른 매개 변수보다 훨씬 효율적입니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Include <string[]>

지정된 경로만 테스트합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: "*.txt")을 입력하십시오. 와일드카드를 사용할 수 있습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-IsValid

경로 요소의 존재 여부에 관계없이 경로의 구문이 올바른지 확인합니다. 이 매개 변수는 구문이 유효하면 TRUE를, 그렇지 않으면 FALSE를 반환합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-LiteralPath <string[]>

테스트할 경로를 지정합니다. Path와 달리 LiteralPath 매개 변수 값은 입력한 그대로 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 경로를 작은따옴표로 묶어야 합니다. 작은따옴표는 Windows PowerShell이 어떤 문자도 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Path <string[]>

테스트할 경로를 지정합니다. 와일드카드를 사용할 수 있습니다. 경로에 공백이 포함된 경우 경로를 따옴표로 묶어야 합니다. 매개 변수 이름("Path")은 선택 사항입니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

true (ByValue, ByPropertyName)

와일드카드 문자 적용 여부

false

-PathType <TestPathType>

경로에서 마지막 요소가 특정 유형인지 여부를 나타냅니다. 이 매개 변수는 요소가 지정된 유형이면 TRUE를, 지정된 유형이 아니면 FALSE를 반환합니다.

유효한 값은 다음과 같습니다.

-- Container: 디렉터리 또는 레지스트리 키와 같은 다른 요소를 포함하는 요소입니다.

-- Leaf: 파일과 같은 다른 요소를 포함하지 않는 요소입니다.

-- Any: 컨테이너 또는 리프로 경로에서 마지막 요소가 특정 유형인지 여부를 나타냅니다. 요소가 지정된 유형이면 TRUE를, 지정된 유형이 아니면 FALSE를 반환합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-UseTransaction

명령을 활성 트랜잭션에 포함합니다. 이 매개 변수는 트랜잭션이 진행 중인 경우에만 유효합니다. 자세한 내용은 about_Transactions를 참조하십시오.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

System.String

경로(리터럴 경로 아님)가 포함된 문자열을 Test-Path로 파이프할 수 있습니다.

출력

System.Boolean

이 cmdlet은 경로가 있으면 "True"를 반환하고 그렇지 않으면 "False"를 반환합니다.

참고

Path 명사(Path cmdlet)를 포함하는 cmdlet은 경로 이름을 조작하여 모든 Windows PowerShell 공급자가 해석할 수 있는 간결한 형식으로 이름을 반환합니다. 이 cmdlet은 경로 이름의 전체 또는 일부를 특정 형식으로 표시하려는 프로그램 및 스크립트에 사용하도록 디자인되었습니다. Dirname, Normpath, Realpath, Join 또는 기타 경로 조작자를 사용할 때와 같은 방법으로 사용하면 됩니다.

파일 시스템, 레지스트리 및 인증서 공급자를 포함하여 여러 공급자와 함께 Path cmdlet을 사용할 수 있습니다.

Test-Path cmdlet은 모든 공급자가 제공하는 데이터에 사용할 수 있습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 "Get-PSProvider"를 입력합니다. 자세한 내용은 about_Providers를 참조하십시오.

예 1

C:\PS>test-path -path "C:\Documents and Settings\NicoleH"

설명
-----------
이 명령은 경로의 모든 요소(디렉터리, Documents and Settings 디렉터리 및 NicoleH 디렉터리)가 있는지 알려 줍니다. 하나라도 없으면 FALSE를 반환하고 그렇지 않으면 TRUE를 반환합니다.






예 2

C:\PS>test-path -path $profile

C:\PS>test-path -path $profile -IsValid

설명
-----------
이들 명령은 Windows PowerShell 프로필 경로를 테스트합니다. 

첫 번째 명령은 경로의 모든 요소가 있는지 여부를 확인합니다. 두 번째 명령은 경로의 구문이 올바른지 확인합니다. 이 예의 경우 경로는 FALSE지만 구문은 올바릅니다(TRUE). 이들 명령은 $profile을 사용합니다. 프로필이 없는 경우에도 프로필 위치를 가리키는 자동 변수입니다.

자동 변수에 대한 자세한 내용은 about_Automatic_Variables를 참조하십시오.






예 3

C:\PS>test-path -path "C:\CAD\Commercial Buildings\*" -exclude *.dwg

설명
-----------
이 명령은 Commercial Buildings 디렉터리에 .dwg 파일 이외에 다른 파일이 있는지 확인합니다. 

먼저 Path 매개 변수를 사용하여 경로를 지정합니다. 경로에 공백이 포함되어 있으므로 따옴표로 묶어야 합니다. 경로 끝의 별표는 Commercial Building 디렉터리의 내용을 나타냅니다. 이처럼 경로가 긴 경우에는 경로의 처음 몇 글자만 입력한 다음 Tab 키를 사용하여 경로를 완성합니다.

이 명령은 Exclude 매개 변수를 사용하여 평가에서 생략되는 파일을 지정합니다. 

이 경우 디렉터리에 .dwg 파일만 있으므로 결과는 FALSE가 됩니다.






예 4

C:\PS>test-path -path $profile -pathtype leaf

설명
-----------
이 명령은 $profile 변수에 저장된 경로가 파일로 연결되는지 확인합니다. 이 경우 Windows PowerShell 프로필이 .ps1 파일이므로 cmdlet은 TRUE를 반환합니다.






예 5

C:\PS>test-path -path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

TRUE

C:\PS> test-path -path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell\ExecutionPolicy
FALSE

설명
-----------
이들 명령은 Windows PowerShell 레지스트리 공급자와 함께 Test-Path cmdlet을 사용합니다. 

첫 번째 명령은 시스템에서 Microsoft.PowerShell 레지스트리 키에 대한 레지스트리 경로가 올바른지 테스트합니다. Windows PowerShell이 올바르게 설치되어 있으면 TRUE가 반환됩니다.

Test-Path는 모든 Windows PowerShell 공급자에 대해 올바르게 작동하지 않습니다. 예를 들어 Test-Path를 사용하여 레지스트리 키에 대한 경로는 테스트할 수 있지만, 레지스트리 항목에 대한 경로를 테스트할 경우 레지스트리 항목이 존재하더라도 항상 FALSE가 반환됩니다.






참고 항목




목차