Apakah ada cara untuk mengubah lokasi default PowerShell?
Bagaimana Anda mengatur direktori kerja default PowerShell?
windows
powershell
Youbloodywombat
sumber
sumber
Jawaban:
Anda dapat menentukan direktori yang akan dibuka saat memulai PowerShell:
Cukup gunakan di pintasan Anda.
Atau gunakan profil untuk menyetel direktori awal.
sumber
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 namaWindowsPowerShell
untuk PowerShell klasik atauPowerShell
untuk PowerShell Core yang lebih baru. Jika tidak ada, tidak apa-apa; buat saja.profile.ps1
diWindowsPowerShell
folder (atauPowerShell
untuk PowerShell Core).Buka
profile.ps1
dan tambahkan perintah berikut untuk mengatur direktori kerja default Anda:Buka jendela PowerShell baru ... perubahan seharusnya sudah diterapkan.
sumber
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.
sumber
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 )
sumber
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.sumber
Run as administrator
di.lnk
menu lanjutan. Solusinya tampaknya ada di sini stackoverflow.com/questions/31622469/…-NoProfile
opsi sepertipowershell -NoProfile -File "myscript.ps1"
Ketik ini di PowerShell:
Ini membuat file .ps1 di folder PowerShell. Buka, dan edit sebagai:
Selesai
Lihat tautan ini. Ini bekerja dengan baik.
Ubah Direktori Mulai PowerShell
sumber
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:
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).sumber
Hanya dengan menggunakan baris perintah, jika file sudah ada, itu akan ditambahkan ke dalamnya:
sumber
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:
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
.sumber
Write-Output "Set-Lokasi C: \" >> $ profile
sumber
Jadikan ini baris pertama di Profile.ps1 Anda dan PowerShell Core (pwsh) akan terbuka di direktori tempat Anda saat ini bekerja:
set-location (get-location) .path
sumber
Solusi ini menetapkan folder kerja saat ini ke lokasi tempat skrip berada. Pastikan untuk menempatkan di awal skrip Anda, atau setidaknya sebelum Anda mencoba menggunakan perintah yang mengandalkan jalur lokasi.
sumber