다음을 통해 공유


Push-Location

현재 위치를 위치 스택의 맨 위에 추가합니다.

구문

Push-Location
    [[-Path] <String>]
    [-PassThru]
    [-StackName <String>]
    [-UseTransaction]
    [<CommonParameters>]
Push-Location
    [-LiteralPath <String>]
    [-PassThru]
    [-StackName <String>]
    [-UseTransaction]
    [<CommonParameters>]

Description

cmdlet은 Push-Location 현재 위치를 위치 스택에 추가("푸시")합니다. 경로를 Push-Location 지정하는 경우 현재 위치를 위치 스택으로 푸시한 다음 현재 위치를 경로에 지정된 위치로 변경합니다. cmdlet을 Pop-Location 사용하여 위치 스택에서 위치를 가져올 수 있습니다.

기본적으로 cmdlet은 Push-Location 현재 위치를 현재 위치 스택으로 푸시하지만 StackName 매개 변수를 사용하여 대체 위치 스택을 지정할 수 있습니다. 스택이 없 Push-Location 으면 만듭니다.

위치 스택에 대한 자세한 내용은 노트를 참조하세요.

예제

예 1

다음은 현재 위치를 기본 위치 스택으로 푸시한 다음 위치를 C:\Windows.로 변경하는 예제입니다.

PS C:\> Push-Location C:\Windows

예제 2

다음은 현재 위치를 RegFunction 스택으로 푸시하고 현재 위치를 위치로 HKLM:\Software\Policies 변경하는 예제입니다.

PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction

모든 PowerShell 드라이브(PSDrive)에서 Location cmdlet을 사용할 수 있습니다.

예제 3

이 명령은 현재 위치를 기본 스택에 밀어 넣지만 위치를 변경하지 않습니다.

PS C:\> Push-Location

예제 4 - 명명된 스택 만들기 및 사용

이 명령은 명명된 위치 스택을 만들고 사용하는 방법을 보여 줍니다.

PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>

첫 번째 명령은 현재 위치를 Stack2라는 새 스택으로 푸시한 다음, FileSystem 공급자 드라이브에 사용되는 경우와 동일한 타일 기호(~)로 명령에 표시되는 홈 디렉터리로 $HOME현재 위치를 변경합니다.

Stack2가 세션 Push-Location 에 아직 없으면 만듭니다. 두 번째 명령은 cmdlet을 Pop-Location 사용하여 Stack2 스택에서 원래 위치(C:\)를 팝합니다. StackName 매개 변수 Pop-Location없으면 명명되지 않은 기본 스택에서 위치를 표시합니다.

위치 스택에 대한 자세한 내용은 노트를 참조하세요.

매개 변수

-LiteralPath

새 위치의 경로를 지정합니다. Path 매개 변수와 달리 LiteralPath 매개 변수의 값은 입력된 대로 정확하게 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

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

-PassThru

위치를 나타내는 개체를 파이프라인으로 전달합니다. 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.

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

-Path

현재 위치를 스택의 맨 위에 추가(푸시)한 후 이 경로에서 지정한 위치로 위치를 변경합니다. 이 cmdlet을 지원하는 공급자의 위치 경로를 입력합니다. 와일드카드가 허용됩니다. 매개 변수 이름은 선택 사항입니다.

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

-StackName

현재 위치가 추가되는 위치 스택을 지정합니다. 위치 스택 이름을 입력합니다. 스택이 없 Push-Location 으면 만듭니다.

이 매개 변수가 Push-Location 없으면 현재 위치 스택에 위치를 추가합니다. 기본적으로 현재 위치 스택은 PowerShell에서 만드는 명명되지 않은 기본 위치 스택입니다. 위치 스택을 현재 위치 스택으로 만들려면 cmdlet의 StackName 매개 변수를 Set-Location 사용합니다. 위치 스택에 대한 자세한 내용은 노트를 참조하세요.

참고 항목

Push-Location 현재 위치 스택이 아니면 명명되지 않은 기본 스택에 위치를 추가할 수 없습니다.

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

-UseTransaction

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

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

입력

String

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

출력

None

기본적으로 이 cmdlet은 출력을 반환하지 않습니다.

PathInfo

PassThru 매개 변수를 사용하는 경우 이 cmdlet은 cmdlet 작업 후 현재 경로를 나타내는 PathInfo 개체를 반환합니다.

참고

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

  • pushd

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

위치 cmdlet이 프로세스 전체의 현재 디렉터리를 설정했더라도 다른 Runspace에서 언제든지 변경할 수 있으므로 이 디렉터리에 의존할 수 없습니다. 위치 cmdlet을 사용하여 현재 Runspace와 관련된 현재 작업 디렉터리를 사용하여 경로 기반 작업을 수행해야 합니다.

스택은 가장 최근에 추가된 항목만 액세스할 수 있는 마지막 첫 번째 목록입니다. 항목을 사용하는 순서대로 스택에 추가한 다음 역순으로 사용할 항목을 검색합니다. PowerShell을 사용하면 위치 스택에 공급자 위치를 저장할 수 있습니다.

PowerShell은 명명되지 않은 기본 위치 스택을 만들고 명명된 여러 위치 스택을 만들 수 있습니다. 스택 이름을 지정하지 않으면 PowerShell은 현재 위치 스택을 사용합니다. 기본적으로 명명되지 않은 기본 위치는 현재 위치 스택이지만 cmdlet을 Set-Location 사용하여 현재 위치 스택을 변경할 수 있습니다.

위치 스택을 관리하려면 다음과 같이 PowerShell 위치 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을 사용하여 Get-Location 명명되지 않은 스택의 위치를 표시할 수 없습니다. 명명되지 않은 스택을 현재 스택으로 만들려면 cmdlet의 StackName 매개 변수를 값 $null 또는 빈 문자열("")과 함께 사용합니다.Set-Location

기본 제공 별칭으로 참조할 Push-Location 수도 있습니다 pushd. 자세한 내용은 about_Aliases를 참조하세요.

cmdlet Push-Location 은 모든 공급자가 노출하는 데이터와 함께 작동하도록 설계되었습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 .를 입력 Get-PSProvider합니다. 자세한 내용은 about_Providers 참조하세요.