다음을 통해 공유


Get-Location

현재 작업 위치 또는 위치 스택에 대한 정보를 가져옵니다.

구문

Get-Location
   [-PSProvider <String[]>]
   [-PSDrive <String[]>]
   [-UseTransaction]
   [<CommonParameters>]
Get-Location
   [-Stack]
   [-StackName <String[]>]
   [-UseTransaction]
   [<CommonParameters>]

Description

cmdlet은 Get-Location pwd(인쇄 작업 디렉터리) 명령과 마찬가지로 현재 디렉터리를 나타내는 개체를 가져옵니다.

PowerShell 드라이브 간에 이동하면 PowerShell은 각 드라이브에 사용자의 위치를 유지합니다. 이 cmdlet을 사용하여 각 드라이브에서 위치를 찾을 수 있습니다.

이 cmdlet을 사용하여 런타임에 현재 디렉터리를 가져와서 PowerShell 프롬프트에 현재 디렉터리를 표시하는 함수와 같은 함수 및 스크립트에서 사용할 수 있습니다.

이 cmdlet을 사용하여 위치 스택의 위치를 표시할 수도 있습니다. 자세한 내용은 참고 사항 및 Stack 및 StackName 매개 변수에 대한 설명을 참조하세요.

예제

예제 1: 현재 드라이브 위치 표시

이 명령은 현재 PowerShell 드라이브의 위치를 표시합니다.

PS C:\Windows> Get-Location

Path
----
C:\Windows

예를 들어 드라이브의 C: 디렉터리에 있는 Windows 경우 해당 디렉터리에 대한 경로가 표시됩니다.

예제 2: 다른 드라이브의 현재 위치 표시

이 예제에서는 다른 PowerShell 드라이브에 현재 위치를 표시하는 데 사용하는 Get-Location 방법을 보여 줍니다. Set-Location 는 위치를 다른 PSDrive의 여러 다른 경로로 변경하는 데 사용됩니다.

PS C:\> Set-Location C:\Windows
PS C:\Windows> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C

Path
----
C:\Windows

PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive HKLM

Path
----
HKLM:\Software\Microsoft

PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\Windows> Get-Location -PSProvider Registry

Path
----
HKCU:\Control Panel\Input Method

예제 3: 스택을 사용하여 위치 가져오기

이 예제에서는 Stack 및 StackName 매개 변수 Get-Location 를 사용하여 현재 위치 스택 및 대체 위치 스택의 위치를 나열하는 방법을 보여 줍니다.

cmdlet Push-Location 은 세 개의 다른 위치로 변경하는 데 사용됩니다. 세 번째 푸시는 다른 스택 이름을 사용합니다. Stack 매개 변수는 Get-Location 기본 스택의 내용을 표시합니다. StackName 매개 변수는 Get-Location 이름이 지정된 Stack2스택의 내용을 표시합니다.

PS C:\> Push-Location C:\Windows
PS C:\Windows>Push-Location System32
PS C:\Windows\System32>Push-Location WindowsPowerShell -StackName Stack2
C:\Windows\System32\WindowsPowerShell>Get-Location -Stack

Path
----
C:\Windows
C:\

C:\Windows\System32\WindowsPowerShell>Get-Location -StackName Stack2

Path
----
C:\Windows\System32

예제 4: PowerShell 프롬프트 사용자 지정

이 예제에서는 PowerShell 프롬프트를 사용자 지정하는 방법을 보여줍니다.

PS C:\>
function prompt { 'PowerShell: ' + (Get-Location) + '> '}
PowerShell: C:\>

프롬프트를 정의하는 함수에는 프롬프트가 콘솔에 나타날 때마다 실행되는 명령이 포함 Get-Location 됩니다.

기본 PowerShell 프롬프트의 형식은 명명 prompt된 특수 함수에 의해 정의됩니다. 라는 prompt새 함수를 만들어 콘솔에서 프롬프트를 변경할 수 있습니다.

현재 프롬프트 함수를 보려면 다음 명령을 입력합니다. Get-Content Function:\prompt

매개 변수

-PSDrive

지정된 PowerShell 드라이브의 현재 위치를 가져옵니다.

예를 들어 드라이브에 있는 Cert: 경우 이 매개 변수를 사용하여 드라이브에서 C: 현재 위치를 찾을 수 있습니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-PSProvider

지정된 PowerShell 공급자가 지원하는 드라이브의 현재 위치를 가져옵니다. 지정된 공급자가 둘 이상의 드라이브를 지원하는 경우 이 cmdlet은 가장 최근에 액세스한 드라이브의 위치를 반환합니다.

예를 들어 드라이브에 있는 C: 경우 이 매개 변수를 사용하여 PowerShell 레지스트리 공급자의 드라이브에서 현재 위치를 찾을 수 있습니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Stack

이 cmdlet은 현재 위치 스택에 추가된 위치를 표시합니다. cmdlet을 사용하여 Push-Location 스택에 위치를 추가할 수 있습니다.

위치를 다른 위치 스택에 표시하려면 StackName 매개 변수를 사용합니다. 위치 스택에 대한 자세한 내용은 노트를 참조하세요.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-StackName

문자열 배열로 명명된 위치 스택을 지정합니다. 위치 스택 이름을 하나 이상 입력합니다.

현재 위치 스택의 위치를 표시하려면 Stack 매개 변수를 사용합니다. 위치 스택을 현재 위치 스택으로 만들려면 cmdlet을 Set-Location 사용합니다.

이 cmdlet은 현재 스택이 아니면 명명되지 않은 기본 스택의 위치를 표시할 수 없습니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-UseTransaction

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

형식:SwitchParameter
별칭:usetx
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

None

개체를 이 cmdlet으로 파이프할 수 없습니다.

출력

PathInfo

기본적으로 이 cmdlet은 PathInfo 개체를 반환합니다.

PathInfoStack

Stack 또는 StackName 매개 변수를 사용하는 경우 이 cmdlet은 PathInfoStack 개체를 반환합니다.

참고

Windows PowerShell에는 다음 별칭이 포함됩니다.Get-Location

  • gl
  • pwd

PowerShell은 프로세스당 여러 Runspace를 지원합니다. 각 Runspace에는 고유한 현재 디렉터리가 있습니다. 이 값은 .와 동일 [System.Environment]::CurrentDirectory하지 않습니다. 이 동작은 명시적 디렉터리 경로를 제공하지 않고 .NET API를 호출하거나 네이티브 애플리케이션을 실행할 때 문제가 될 수 있습니다. cmdlet은 Get-Location 현재 PowerShell Runspace의 현재 디렉터리를 반환합니다.

이 cmdlet은 모든 공급자가 노출하는 데이터를 사용하도록 설계되었습니다. 세션의 공급자를 나열하려면 .를 입력 Get-PSProvider합니다. 자세한 내용은 about_Providers 참조하세요.

PSProvider, PSDrive, Stack 및 StackName 매개 변수가 상호 작용하는 방법은 공급자에 따라 달라집니다. 드라이브와 해당 드라이브를 노출하지 않는 공급자를 모두 지정하는 등의 일부 조합으로 인해 오류가 발생합니다. 매개 변수를 지정하지 않으면 이 cmdlet은 현재 작업 위치를 포함하는 공급자에 대한 PathInfo 개체를 반환합니다.

스택은 가장 최근에 추가된 항목만 액세스할 수 있는 마지막 첫 번째 목록입니다. 항목을 사용하는 순서대로 스택에 추가한 다음 역순으로 사용할 항목을 검색합니다. PowerShell을 사용하면 위치 스택에 공급자 위치를 저장할 수 있습니다. PowerShell은 명명되지 않은 기본 위치 스택을 만들고 명명된 여러 위치 스택을 만들 수 있습니다. 스택 이름을 지정하지 않으면 PowerShell은 현재 위치 스택을 사용합니다. 기본적으로 명명되지 않은 기본 위치는 현재 위치 스택이지만 cmdlet을 Set-Location 사용하여 현재 위치 스택을 변경할 수 있습니다.

위치 스택을 관리하려면 다음과 같이 PowerShell *-Location cmdlet을 사용합니다.

  • 위치 스택에 위치를 추가하려면 cmdlet을 Push-Location 사용합니다.

  • 위치 스택에서 위치를 얻으려면 cmdlet을 Pop-Location 사용합니다.

  • 현재 위치 스택의 위치를 표시하려면 cmdlet의 Stack 매개 변수를 Get-Location 사용합니다. 명명된 위치 스택에 위치를 표시하려면 cmdlet의 StackName 매개 변수를 Get-Location 사용합니다.

  • 새 위치 스택을 만들려면 cmdlet의 StackName 매개 변수를 Push-Location 사용합니다. 존재하지 Push-Location 않는 스택을 지정하면 스택이 만들어집니다.

  • 위치 스택을 현재 위치 스택으로 만들려면 cmdlet의 StackName 매개 변수를 Set-Location 사용합니다.

이름 없는 기본 위치 스택은 현재 위치 스택인 경우에만 완전히 액세스할 수 있습니다. 명명된 위치 스택을 현재 위치 스택으로 만드는 경우 더 이상 cmdlet을 Pop-Location 사용하여 Push-Location 기본 스택에서 항목을 추가하거나 가져오거나 이 cmdlet을 사용하여 명명되지 않은 스택의 위치를 표시할 수 없습니다. 명명되지 않은 스택을 현재 스택으로 만들려면 cmdlet의 StackName 매개 변수를 값 $null 또는 빈 문자열("")과 함께 사용합니다.Set-Location