Get-Location

Mendapatkan informasi tentang lokasi kerja saat ini atau tumpukan lokasi.

Sintaks

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

Deskripsi

Get-Location Cmdlet mendapatkan objek yang mewakili direktori saat ini, seperti perintah print working directory (pwd).

Saat Anda berpindah di antara drive PowerShell, PowerShell mempertahankan lokasi Anda di setiap drive. Anda dapat menggunakan cmdlet ini untuk menemukan lokasi Anda di setiap drive.

Anda dapat menggunakan cmdlet ini untuk mendapatkan direktori saat ini pada durasi dan menggunakannya dalam fungsi dan skrip, seperti dalam fungsi yang menampilkan direktori saat ini di prompt PowerShell.

Anda juga dapat menggunakan cmdlet ini untuk menampilkan lokasi di tumpukan lokasi. Untuk informasi selengkapnya, lihat Catatan dan deskripsi parameter Stack dan StackName .

Contoh

Contoh 1: Menampilkan lokasi drive Anda saat ini

Perintah ini menampilkan lokasi Anda di drive PowerShell saat ini.

PS C:\Windows> Get-Location

Path
----
C:\Windows

Misalnya, jika Anda berada di Windows direktori C: drive, drive akan menampilkan jalur ke direktori tersebut.

Contoh 2: Menampilkan lokasi Anda saat ini untuk drive yang berbeda

Contoh ini menunjukkan penggunaan Get-Location untuk menampilkan lokasi Anda saat ini di drive PowerShell yang berbeda. Set-Location digunakan untuk mengubah lokasi ke beberapa jalur berbeda pada PSDrive yang berbeda.

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

Contoh 3: Mendapatkan lokasi menggunakan tumpukan

Contoh ini menunjukkan cara menggunakan parameter Stack dan StackName dari Get-Location untuk mencantumkan lokasi di tumpukan lokasi saat ini dan tumpukan lokasi alternatif.

Cmdlet Push-Location digunakan untuk mengubah menjadi tiga lokasi yang berbeda. Pendorongan ketiga menggunakan nama tumpukan yang berbeda. Parameter Get-LocationTumpukan menampilkan konten tumpukan default. Parameter StackNameGet-Location menampilkan konten tumpukan bernama 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

Contoh 4: Menyesuaikan prompt PowerShell

Contoh ini memperlihatkan cara mengkustomisasi perintah PowerShell.

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

Fungsi yang menentukan perintah menyertakan Get-Location perintah, yang dijalankan setiap kali perintah muncul di konsol.

Format prompt PowerShell default ditentukan oleh fungsi khusus bernama prompt. Anda dapat mengubah perintah di konsol dengan membuat fungsi baru bernama prompt.

Untuk melihat fungsi prompt saat ini, ketik perintah berikut: Get-Content Function:\prompt

Parameter

-PSDrive

Mendapatkan lokasi saat ini di drive PowerShell yang ditentukan.

Misalnya, jika Anda berada di Cert: drive, Anda dapat menggunakan parameter ini untuk menemukan lokasi Anda saat ini di C: drive.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-PSProvider

Mendapatkan lokasi saat ini di drive yang didukung oleh penyedia PowerShell yang ditentukan. Jika penyedia yang ditentukan mendukung lebih dari satu drive, cmdlet ini mengembalikan lokasi pada drive yang paling baru diakses.

Misalnya, jika Anda berada di C: drive, Anda dapat menggunakan parameter ini untuk menemukan lokasi Anda saat ini di drive penyedia PowerShell Registry .

Type:String[]
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Stack

Menunjukkan bahwa cmdlet ini menampilkan lokasi yang ditambahkan ke tumpukan lokasi saat ini. Anda dapat menambahkan lokasi ke tumpukan dengan menggunakan Push-Location cmdlet .

Untuk menampilkan lokasi di tumpukan lokasi yang berbeda, gunakan parameter StackName . Untuk informasi tentang tumpukan lokasi, lihat Catatan.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-StackName

Menentukan, sebagai array string, tumpukan lokasi bernama. Masukkan satu atau beberapa nama tumpukan lokasi.

Untuk menampilkan lokasi di tumpukan lokasi saat ini, gunakan parameter Tumpukan . Untuk membuat tumpukan lokasi tumpukan lokasi saat ini, gunakan Set-Location cmdlet .

Cmdlet ini tidak dapat menampilkan lokasi dalam tumpukan default yang tidak disebutkan namanya kecuali itu adalah tumpukan saat ini.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

Input

None

Anda tidak dapat menyalurkan input ke cmdlet ini.

Output

System.Management.Automation.PathInfo or System.Management.Automation.PathInfoStack

Jika Anda menggunakan parameter Stack atau StackName , cmdlet ini mengembalikan objek PathInfoStack . Jika tidak, ia mengembalikan objek PathInfo .

Catatan

PowerShell menyertakan alias berikut untuk Get-Location:

  • Semua Platform:

    • gl
    • pwd

PowerShell mendukung beberapa runspace per proses. Setiap runspace memiliki direktorinya sendiri saat ini. Ini tidak sama [System.Environment]::CurrentDirectorydengan . Perilaku ini dapat menjadi masalah saat memanggil API .NET atau menjalankan aplikasi asli tanpa menyediakan jalur direktori eksplisit. Get-Location Cmdlet mengembalikan direktori saat ini dari runspace PowerShell saat ini.

Cmdlet ini dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia di sesi Anda, ketik Get-PSProvider. Untuk informasi selengkapnya, lihat about_Providers.

Cara parameter PSProvider, PSDrive, Stack, dan StackName berinteraksi bergantung pada penyedia. Beberapa kombinasi akan mengakibatkan kesalahan, seperti menentukan drive dan penyedia yang tidak mengekspos drive tersebut. Jika tidak ada parameter yang ditentukan, cmdlet ini mengembalikan objek PathInfo untuk penyedia yang berisi lokasi kerja saat ini.

Tumpukan adalah daftar terakhir masuk, keluar pertama di mana hanya item yang terakhir ditambahkan yang dapat diakses. Anda menambahkan item ke tumpukan dalam urutan yang Anda gunakan, lalu mengambilnya untuk digunakan dalam urutan terbalik. PowerShell memungkinkan Anda menyimpan lokasi penyedia di tumpukan lokasi. PowerShell membuat tumpukan lokasi default yang tidak disebutkan namanya dan Anda dapat membuat beberapa tumpukan lokasi bernama. Jika Anda tidak menentukan nama tumpukan, PowerShell menggunakan tumpukan lokasi saat ini. Secara default, lokasi default yang tidak disebutkan namanya adalah tumpukan lokasi saat ini, tetapi Anda dapat menggunakan Set-Location cmdlet untuk mengubah tumpukan lokasi saat ini.

Untuk mengelola tumpukan lokasi, gunakan cmdlet PowerShell *-Location , sebagai berikut.

  • Untuk menambahkan lokasi ke tumpukan lokasi, gunakan Push-Location cmdlet .

  • Untuk mendapatkan lokasi dari tumpukan lokasi, gunakan Pop-Location cmdlet .

  • Untuk menampilkan lokasi di tumpukan lokasi saat ini, gunakan parameter Get-LocationTumpukan cmdlet. Untuk menampilkan lokasi dalam tumpukan lokasi bernama, gunakan parameter StackName cmdlet Get-Location .

  • Untuk membuat tumpukan lokasi baru, gunakan parameter StackName dari Push-Location cmdlet . Jika Anda menentukan tumpukan yang tidak ada, Push-Location buat tumpukan.

  • Untuk membuat tumpukan lokasi tumpukan lokasi saat ini, gunakan parameter StackName cmdlet Set-Location .

Tumpukan lokasi default yang tidak disebutkan namanya hanya dapat diakses sepenuhnya ketika tumpukan lokasi saat ini. Jika Anda membuat tumpukan lokasi bernama tumpukan lokasi saat ini, Anda tidak dapat lagi menggunakan Push-Location cmdlet atau Pop-Location untuk menambahkan atau mendapatkan item dari tumpukan default atau menggunakan cmdlet ini untuk menampilkan lokasi di tumpukan yang tidak disebutkan namanya. Untuk membuat tumpukan yang tidak disebutkan namanya menjadi tumpukan saat ini, gunakan parameter StackName cmdlet Set-Location dengan nilai $null atau string kosong ("").