Apakah ada cara untuk mengubah lokasi default PowerShell?
Bagaimana Anda mengatur direktori kerja default PowerShell?
Apakah ada cara untuk mengubah lokasi default PowerShell?
Bagaimana Anda mengatur direktori kerja default PowerShell?
Jawaban:
Anda dapat menentukan direktori yang akan dibuka saat memulai PowerShell:
powershell.exe -NoExit -command "& {Set-Location $env:systemroot}"
Cukup gunakan di pintasan Anda.
Atau gunakan profil untuk menyetel direktori awal.
pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
Buat profil PowerShell sebagai berikut.
Jalankan PowerShell sebagai administrator dan jalankan perintah berikut:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Ini akan mengizinkan PowerShell untuk menjalankan skrip dan skrip lokal yang diunduh dari Internet yang telah ditandatangani. Baca lebih lanjut tentang perintah ini di dokumentasi .
Di Documents
folder Anda , temukan folder yang diberi nama WindowsPowerShell
untuk PowerShell klasik atau PowerShell
untuk PowerShell Core yang lebih baru. Jika tidak ada, tidak apa-apa; buat saja.
profile.ps1
di WindowsPowerShell
folder (atau PowerShell
untuk PowerShell Core).Buka profile.ps1
dan tambahkan perintah berikut untuk mengatur direktori kerja default Anda:
Set-Location C:\my\default\working\directory
Buka jendela PowerShell baru ... perubahan seharusnya sudah diterapkan.
powershell -File "myscript.ps1"
powershel -NoProfile -File "myscript.ps1"
Saya telah mencoba jawaban di atas di Windows Server 2016 tanpa hasil.
Tetapi saya menemukan pendekatan ini (harus sama untuk Windows 10) berfungsi untuk saya.
Selesai!
Dalam dialog Properti yang sama Anda juga dapat mengubah banyak pengaturan lain seperti font, warna, ukuran dan pada tab Pintasan melalui tombol Advanced. Anda dapat memilih apakah sesi PowerShell itu akan dijalankan dengan hak administrator.
Run as administrator
di .lnk
menu lanjutan. Solusinya tampaknya ada di sini stackoverflow.com/questions/31622469/…
Run as aministrator
kotak centang bolak-balik.
Cara yang lebih mudah untuk mengatur direktori default adalah sebagai berikut:
Klik kanan ikon Windows PowerShell di Start, dan sekali lagi klik kanan Windows PowerShell dan pilih Properties (bukan Run as Administrator dan bukan Windows PowerShell ISE )
Memasukkan Set-Location
ke profil Anda tanpa syarat akan mengubah direktori kerja saat ini, yang mungkin memiliki konsekuensi yang tidak diinginkan sehubungan dengan direktori kerja untuk skrip yang Anda jalankan melalui "run with PowerShell".
Solusi alternatifnya adalah mengubah direktori kerja untuk .lnk
file ke PowerShell yang biasanya ditemukan di %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell
. Klik kanan pada link, dan ubah direktori kerja dari %HOMEDRIVE%%HOMEPATH%
direktori yang Anda inginkan.
Run as administrator
di .lnk
menu lanjutan. Solusinya tampaknya ada di sini stackoverflow.com/questions/31622469/…
-NoProfile
opsi seperti powershell -NoProfile -File "myscript.ps1"
Ketik ini di PowerShell:
New-Item -path $profile -type file –force
Ini membuat file .ps1 di folder PowerShell. Buka, dan edit sebagai:
Set-location C:\files
Selesai
Lihat tautan ini. Ini bekerja dengan baik.
Alih-alih mengubah direktori kerja tanpa syarat seperti yang disebutkan dalam jawaban sebelumnya, Anda dapat menulis fungsi sederhana di profil PowerShell untuk digunakan Set-Location
dengan cepat mengubah direktori kerja bila diperlukan.
Periksa jawaban Jeremy Danyow untuk membuat / mengubah profil PowerShell.
Tambahkan fungsi ke profil PowerShell Anda:
function goto_this {set-location 'your\path\to\some\dir'}
function goto_that {set-location 'your\path to some\dir with space'}
Ubah saja nama fungsi dan direktori yang ditunjuk. Menggunakan tanda kutip di jalur wajib diisi jika berisi spasi. Saya mencoba untuk mempertahankan awalan goto_
karena membantu dalam mengingat nama fungsi.
Anda dapat mulai mengetik goto_
lalu menekan TAB untuk menelusuri semua fungsi yang ditambahkan (ingat untuk memulai jendela PowerShell baru setelah menambahkan / memodifikasi fungsi).
Hanya dengan menggunakan baris perintah, jika file sudah ada, itu akan ditambahkan ke dalamnya:
$(if (-Not (Test-Path ~\Documents\WindowsPowerShell\)){ mkdir ~\Documents\WindowsPowerShell\}) ; echo "Set-Location c:\THELOCATIONYOUWANT" >> ~\Documents\WindowsPowerShell\profile.ps1
Dengan itu, tampaknya ada beberapa kebingungan pada "direktori kerja" dan "lokasi" PowerShell. Apa yang kebanyakan orang lakukan di sini, dan katakan yang harus dilakukan adalah mengubah "lokasi" PowerShell. "Direktori kerja" sebenarnya berbeda. Berikut adalah artikel yang menjelaskannya.
Bagi mereka yang tidak ingin membaca artikel: Buka PowerShell dan gunakan apa yang dikatakan orang lain untuk dilakukan Set-Location "C:\some\directory"
. Perhatikan bahwa "direktori kerja" Anda masih di mana PowerShell Anda dibuka. Entah "~"
atau "%SYSTEMROOT%\system32"
tergantung apakah Anda menjalankan sebagai administrator atau tidak. Untuk memeriksa direktori kerja, gunakan [Environment]::CurrentDirectory
.
Catatan: di artikel penulis mengatakan untuk memeriksa "direktori kerja" dengan menggunakan perintah ini:
\[Environment\]::CurrentDirectory
Saya tidak yakin apakah ini berfungsi dengan versi PowerShell yang lebih lama, tetapi dengan PowerShell 5 (dan yang lebih baru) Anda harus menggunakan [Environment]::CurrentDirectory
.