Share via


현재 위치 관리

파일 탐색기 폴더 시스템을 탐색할 때 일반적으로 특정 작업 위치(즉, 현재 열려 있는 폴더)가 있습니다. 현재 폴더의 항목을 클릭하여 쉽게 조작할 수 있습니다. Cmd.exe 같은 명령줄 인터페이스의 경우 특정 파일과 동일한 폴더에 있는 경우 파일의 전체 경로를 지정할 필요 없이 비교적 짧은 이름을 지정하여 액세스할 수 있습니다. 현재 디렉터리를 작업 디렉터리라고 부릅니다.

PowerShell에서는 명사 Location을 사용하여 작업 디렉터리를 나타내고, cmdlet 패밀리를 구현하여 위치를 조사 및 조작합니다.

현재 위치 가져오기(Get-Location)

현재 디렉터리 위치의 경로를 확인하려면 다음 명령을 입력합니다 Get-Location .

Get-Location
Path
----
C:\Documents and Settings\PowerUser

참고 항목

cmdlet Get-Location 은 BASH 셸의 pwd 명령과 유사합니다. Set-Location cmdlet은 Cmd.exe의 cd 명령과 비슷합니다.

현재 위치 설정(Set-Location)

Get-Location 명령은 명령과 함께 Set-Location 사용됩니다. 이 Set-Location 명령을 사용하면 현재 디렉터리 위치를 지정할 수 있습니다.

Set-Location -Path C:\Windows

명령을 입력한 후에는 명령의 효과에 대한 직접적인 피드백을 받지 않습니다. 작업을 수행하는 대부분의 PowerShell 명령은 출력이 항상 유용한 것은 아니기 때문에 출력을 거의 또는 전혀 생성하지 않습니다. Set-Location 명령을 입력할 때 디렉터리가 성공적으로 변경되었는지 확인하려면 Set-Location 명령을 입력할 때 Set-Location 매개 변수를 포함합니다.

Set-Location -Path C:\Windows -PassThru
Path
----
C:\WINDOWS

PassThru 매개 변수는 PowerShell의 많은 Set 명령과 함께 사용하여 기본 출력이 없는 경우 결과에 대한 정보를 반환할 수 있습니다.

대부분의 UNIX 및 Windows 명령 셸에서와 동일한 방식으로 현재 위치를 기준으로 경로를 지정할 수 있습니다. 상대 경로에 대한 표준 표기법에서 마침표(.)는 현재 폴더를 나타내고, 두 배 기간(..)은 현재 위치의 부모 디렉터리를 나타냅니다.

예를 들어 폴더에 있는 C:\Windows 경우 마침표(.)가 표시 C:\Windows 되고 이중 마침표(..)가 나타냅니다 C:. 다음과 같이 입력하여 현재 위치에서 C: 드라이브의 루트로 변경할 수 있습니다.

Set-Location -Path .. -PassThru
Path
----
C:\

이 기술은 파일 시스템 드라이브가 아닌 PowerShell 드라이브(예: HKLM:)에서 사용됩니다. 다음을 입력하여 레지스트리의 HKLM\Software 키로 위치를 설정할 수 있습니다.

Set-Location -Path HKLM:\SOFTWARE -PassThru
Path
----
HKLM:\SOFTWARE

그런 다음 상대 경로를 사용하여 디렉터리 위치를 부모 디렉터리로 변경할 수 있습니다.

Set-Location -Path .. -PassThru
Path
----
HKLM:\

Set-Location을 입력하거나 Set-Location의 기본 제공 PowerShell 별칭(cd, chdir, sl)을 사용할 수 있습니다. 예시:

cd -Path C:\Windows
chdir -Path .. -PassThru
sl -Path HKLM:\SOFTWARE -PassThru

최근 위치 저장 및 다시 호출(Push-Location 및 Pop-Location)

위치를 변경할 때 이전 위치를 추적하여 해당 위치로 돌아갈 수 있습니다. PowerShell의 cmdlet은 Push-Location 사용자가 있었던 디렉터리 경로의 정렬된 기록("스택")을 만들고 cmdlet을 사용하여 Pop-Location 디렉터리 경로의 기록을 한 단계씩 되돌릴 수 있습니다.

예를 들어 PowerShell은 일반적으로 사용자의 홈 디렉터리에서 시작합니다.

Get-Location

Path
----
C:\Documents and Settings\PowerUser

참고 항목

단어 스택 은 .NET Framework를 비롯한 많은 프로그래밍 설정에서 특별한 의미를 가집니다. 실제 항목 스택과 마찬가지로 스택에 배치한 마지막 항목은 스택에서 끌어올 수 있는 첫 번째 항목입니다. 스택에 항목을 추가하는 것은 구어체로 항목을 스택에 "푸시"라고 합니다. 스택에서 항목을 당기는 것은 구어체로 스택에서 항목을 "터지는"것으로 알려져 있습니다.

현재 위치를 스택에 푸시한 다음 Local Settings 폴더로 이동하려면 다음과 같이 입력합니다.

Push-Location -Path "Local Settings"

그런 다음, 로컬 설정 위치를 스택으로 푸시하고 다음을 입력하여 Temp 폴더로 이동할 수 있습니다.

Push-Location -Path Temp

다음 명령을 입력하여 디렉터리를 변경했는지 확인할 수 있습니다.Get-Location

Get-Location
Path
----
C:\Documents and Settings\PowerUser\Local Settings\Temp

그런 다음, 명령을 입력하여 가장 최근에 방문한 디렉터리로 다시 팝업 Pop-Location 하고 명령을 입력 Get-Location 하여 변경 사항을 확인할 수 있습니다.

Pop-Location
Get-Location
Path
----
C:\Documents and Settings\me\Local Settings

cmdlet과 마찬가지로 입력한 Set-Location 디렉터리를 표시하기 위해 cmdlet을 Pop-Location 입력할 때 PassThru 매개 변수를 포함할 수 있습니다.

Pop-Location -PassThru
Path
----
C:\Documents and Settings\PowerUser

네트워크 경로와 함께 Location cmdlet을 사용할 수도 있습니다. 공용이라는 공유가 있는 FS01이라는 서버가 있는 경우 입력하여 위치를 변경할 수 있습니다.

Set-Location \\FS01\Public

또는

Push-Location \\FS01\Public

Set-Location 명령을 사용하여 Push-Location 위치를 사용 가능한 드라이브로 변경할 수 있습니다. 예를 들어 데이터 CD가 포함된 드라이브 문자 D가 있는 로컬 CD-ROM 드라이브가 있는 경우 명령을 입력 Set-Location D: 하여 위치를 CD 드라이브로 변경할 수 있습니다.

드라이브가 비어 있으면 다음과 같은 오류 메시지가 표시됩니다.

Set-Location D:
Set-Location : Cannot find path 'D:\' because it does not exist.

명령줄 인터페이스를 사용하는 경우 파일 탐색기를 사용하여 사용 가능한 물리적 드라이브를 찾는 데 어려움이 있습니다. 또한 파일 탐색기에는 모든 PowerShell 드라이브가 표시되지 않습니다. PowerShell은 PowerShell 드라이브를 조작하기 위한 명령 집합을 제공합니다.