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 Documentsfolder Anda , temukan folder yang diberi nama WindowsPowerShelluntuk PowerShell klasik atau PowerShelluntuk PowerShell Core yang lebih baru. Jika tidak ada, tidak apa-apa; buat saja.
profile.ps1di WindowsPowerShellfolder (atau PowerShelluntuk PowerShell Core).Buka profile.ps1dan tambahkan perintah berikut untuk mengatur direktori kerja default Anda:
Set-Location C:\my\default\working\directoryBuka 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 administratordi .lnkmenu lanjutan. Solusinya tampaknya ada di sini stackoverflow.com/questions/31622469/…
Run as aministratorkotak 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-Locationke 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 .lnkfile 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 administratordi .lnkmenu lanjutan. Solusinya tampaknya ada di sini stackoverflow.com/questions/31622469/…
-NoProfileopsi 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-Locationdengan 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.