Set-Location
Mengatur lokasi kerja saat ini ke lokasi tertentu.
Sintaks
Path (Default)
Set-Location
[[-Path] <String>]
[-PassThru]
[<CommonParameters>]
LiteralPath
Set-Location
-LiteralPath <String>
[-PassThru]
[<CommonParameters>]
Stack
Set-Location
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
Deskripsi
cmdlet Set-Location mengatur lokasi kerja ke lokasi tertentu. Lokasi tersebut bisa berupa direktori, subdirektori, lokasi registri, atau jalur penyedia apa pun.
PowerShell 6.2 menambahkan dukungan untuk - dan + sebagai nilai untuk parameter Jalur. PowerShell mempertahankan riwayat 20 lokasi terakhir yang dapat diakses dengan - dan +. Daftar ini independen dari tumpukan lokasi yang diakses menggunakan parameter StackName.
Contoh
Contoh 1: Atur lokasi saat ini
PS C:\> Set-Location -Path "HKLM:\"
PS HKLM:\>
Perintah ini mengatur lokasi saat ini ke akar drive HKLM:.
Contoh 2: Atur lokasi saat ini dan tampilkan lokasi tersebut
PS C:\> Set-Location -Path "Env:\" -PassThru
Path
----
Env:\
PS Env:\>
Perintah ini mengatur lokasi saat ini ke akar drive Env:. Ini menggunakan parameter PassThru untuk mengarahkan PowerShell untuk mengembalikan objek PathInfo yang mewakili lokasi Env:\.
Contoh 3: Atur lokasi ke lokasi saat ini di drive C:
PS C:\Windows\> Set-Location HKLM:\
PS HKLM:\> Set-Location C:
PS C:\Windows\>
Perintah pertama mengatur lokasi ke akar drive HKLM: di penyedia Registri.
Perintah kedua mengatur lokasi ke lokasi drive C: saat ini di penyedia FileSystem.
Ketika nama drive ditentukan dalam formulir <DriveName>: (tanpa garis miring terbelakang), cmdlet mengatur lokasi ke lokasi saat ini di PSDrive.
Untuk mendapatkan lokasi saat ini di perintah PSDrive gunakan Get-Location -PSDrive <DriveName>.
Contoh 4: Atur lokasi saat ini ke tumpukan bernama
PS C:\> Push-Location -Path 'C:\Program Files\PowerShell\' -StackName "Paths"
PS C:\Program Files\PowerShell\> Set-Location -StackName "Paths"
PS C:\Program Files\PowerShell\> Get-Location -Stack
Path
----
C:\
Perintah pertama menambahkan lokasi saat ini ke tumpukan Jalur. Perintah kedua membuat lokasi Jalur menumpuk tumpukan lokasi saat ini. Perintah ketiga menampilkan lokasi di tumpukan lokasi saat ini.
Cmdlet *-Location menggunakan tumpukan lokasi saat ini kecuali tumpukan lokasi yang berbeda ditentukan dalam perintah. Untuk informasi tentang tumpukan lokasi, lihat Catatan.
Contoh 5: Menavigasi riwayat lokasi menggunakan '+' atau '-'
PS C:\> Set-Location -Path $Env:SystemRoot
PS C:\Windows> Set-Location -Path Cert:\
PS Cert:\> Set-Location -Path HKLM:\
PS HKLM:\>
# Navigate back through the history using "-"
PS HKLM:\> Set-Location -Path -
PS Cert:\> Set-Location -Path -
PS C:\Windows>
# Navigate using the Set-Location alias "cd" and the implicit positional Path parameter
PS C:\Windows> cd -
PS C:\> cd +
PS C:\Windows> cd +
PS Cert:\>
Menggunakan alias, cd - atau cd + adalah cara mudah untuk menavigasi riwayat lokasi Anda saat berada di terminal Anda. Untuk informasi selengkapnya tentang menavigasi dengan -/+, lihat parameter Jalur.
Parameter
-LiteralPath
Menentukan jalur lokasi. Nilai parameter
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | PSPath, LP |
Kumpulan parameter
LiteralPath
| Position: | Named |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-PassThru
Mengembalikan objek PathInfo
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Path
Tentukan jalur lokasi kerja baru. Jika tidak ada jalur yang disediakan, Set-Location default ke direktori beranda pengguna saat ini. Ketika kartubebas digunakan, cmdlet memilih kontainer (direktori, kunci registri, penyimpanan sertifikat) yang cocok dengan pola wildcard. Jika pola kartubebas cocok dengan lebih dari satu kontainer, cmdlet mengembalikan kesalahan.
PowerShell menyimpan riwayat 20 lokasi terakhir yang telah Anda tetapkan. Jika nilai parameter Jalur adalah karakter -, maka lokasi kerja baru akan menjadi lokasi kerja sebelumnya dalam riwayat (jika ada). Demikian pula, jika nilainya adalah karakter +, maka lokasi kerja baru akan menjadi lokasi kerja berikutnya dalam riwayat (jika ada). Ini mirip dengan menggunakan Pop-Location dan Push-Location kecuali bahwa riwayat adalah daftar, bukan tumpukan, dan dilacak secara implisit, tidak dikontrol secara manual. Tidak ada cara untuk melihat daftar riwayat.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | True |
| DontShow: | False |
Kumpulan parameter
Path
| Position: | 0 |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-StackName
Menentukan nama tumpukan lokasi yang ada bahwa cmdlet ini membuat tumpukan lokasi saat ini. Masukkan nama tumpukan lokasi. Untuk menunjukkan tumpukan lokasi default yang tidak disebutkan namanya, ketik $null atau string kosong ("").
Menggunakan parameter ini tidak mengubah lokasi saat ini. Ini hanya mengubah tumpukan yang digunakan oleh cmdlet *-Location. Cmdlet
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
Stack
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
String
Anda dapat menyalurkan string yang berisi jalur, tetapi bukan jalur harfiah, ke cmdlet ini.
Output
None
Secara default, cmdlet ini tidak mengembalikan output.
PathInfo
Saat Anda menggunakan parameter PassThru dengan Path atau LiteralPath, cmdlet ini mengembalikan objek PathInfo yang mewakili lokasi baru.
PathInfoStack
Saat Anda menggunakan parameter PassThru dengan StackName, cmdlet ini mengembalikan objek PathInfoStack yang mewakili konteks tumpukan baru.
Catatan
PowerShell menyertakan alias berikut untuk Set-Location:
- Semua Platform:
cdchdirsl
PowerShell mendukung beberapa runspace per proses. Setiap runspace memiliki direktori saat ini sendiri .
Ini tidak sama dengan [System.Environment]::CurrentDirectory. Perilaku ini dapat menjadi masalah saat memanggil API .NET atau menjalankan aplikasi asli tanpa menyediakan jalur direktori eksplisit.
Bahkan jika cmdlet lokasi memang mengatur direktori saat ini di seluruh proses, Anda tidak dapat bergantung padanya karena runspace lain mungkin mengubahnya kapan saja. Anda harus menggunakan cmdlet lokasi untuk melakukan operasi berbasis jalur menggunakan direktori kerja saat ini khusus untuk runspace saat ini.
Cmdlet Set-Location dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia yang tersedia dalam sesi Anda, ketik Get-PSProvider. Untuk informasi selengkapnya, lihat tentang_Penyedia.
Tumpukan adalah daftar terakhir masuk dan 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. 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 cmdlet Set-Location untuk mengubah tumpukan lokasi saat ini.
Untuk mengelola tumpukan lokasi, gunakan cmdlet *-Location, sebagai berikut:
Untuk menambahkan lokasi ke tumpukan lokasi, gunakan cmdlet
Push-Location.Untuk mendapatkan lokasi dari tumpukan lokasi, gunakan cmdlet
Pop-Location.Untuk menampilkan lokasi di tumpukan lokasi saat ini, gunakan parameter Stack cmdlet
Get-Location. Untuk menampilkan lokasi dalam tumpukan lokasi bernama, gunakan parameterStackName . Untuk membuat tumpukan lokasi baru, gunakan parameter StackName
Push-Location. Jika Anda menentukan tumpukan yang tidak ada,Push-Locationmembuat tumpukan.Untuk membuat tumpukan lokasi tumpukan lokasi saat ini, gunakan parameter
StackName .
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 cmdlet Push-Location atau Pop-Location untuk menambahkan atau mendapatkan item dari tumpukan default atau menggunakan cmdlet Get-Location untuk menampilkan lokasi di tumpukan yang tidak disebutkan namanya. Untuk membuat tumpukan yang tidak disebutkan namanya sebagai tumpukan saat ini, gunakan parameter StackName cmdlet Set-Location dengan nilai $null atau string kosong ("").