PowerShell'in varsayılan konumunu değiştirmenin bir yolu var mı?
PowerShell'in varsayılan çalışma dizinini nasıl ayarlarsınız?
PowerShell'in varsayılan konumunu değiştirmenin bir yolu var mı?
PowerShell'in varsayılan çalışma dizinini nasıl ayarlarsınız?
Yanıtlar:
PowerShell'i başlatırken açılacak dizini belirtebilirsiniz:
powershell.exe -NoExit -command "& {Set-Location $env:systemroot}"
Sadece kısayolunuzda kullanın.
Veya bir başlangıç dizini ayarlamak için bir profil kullanın.
pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
Aşağıdaki gibi bir PowerShell profili oluşturun .
PowerShell'i yönetici olarak çalıştırın ve aşağıdaki komutu yürütün:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Bu, PowerShell'in imzalanmış İnternet'ten indirilen yerel komut dosyalarını ve komut dosyalarını çalıştırmasına izin verecektir. Belgelerde bu komut hakkında daha fazla bilgi edinin .
Senin içinde Documents
klasörün adında bir klasör bulmak WindowsPowerShell
klasik PowerShell veya PowerShell
yeni PowerShell Çekirdek. Eğer yoksa, sorun değil; sadece yaratın.
profile.ps1
içinde WindowsPowerShell
(veya klasör PowerShell
PowerShell Çekirdek).profile.ps1
Varsayılan çalışma dizininizi ayarlamak için aşağıdaki komutu açın ve ekleyin:
Set-Location C:\my\default\working\directory
Yeni bir PowerShell penceresi açın ... değişikliklerin geçerli olması gerekir.
powershell -File "myscript.ps1"
powershel -NoProfile -File "myscript.ps1"
Yukarıdaki cevapları Windows Server 2016'da başarılı olmadan denedim .
Ancak bu yaklaşımı (Windows 10 için aynı olmalı) benim için çalıştığını buldum.
Bitti!
Aynı Özellikler iletişim kutusunda yazı tipleri, renkler, boyutlar ve kısayol sekmesi gibi diğer birçok ayarı da düğme aracılığıyla değiştirebilirsiniz Advanced. Bu PowerShell oturumunun yönetici ayrıcalıklarıyla çalıştırılıp çalıştırılmayacağını seçebilirsiniz.
Run as administrator
içinde .lnk
gelişmiş menü. Çözüm burada görünüyor stackoverflow.com/questions/31622469/…
Run as aministrator
onay kutusunu ileri geri değiştirerek test edildi .
Varsayılan dizini ayarlamanın daha kolay bir yolu şudur:
Başlat'ta Windows PowerShell simgesine sağ tıklayın ve tekrar Windows PowerShell'e sağ tıklayın ve Özellikler'i seçin ( Yönetici olarak Çalıştır ve Windows PowerShell ISE'yi değil )
Set-Location
Profilinize koymak , geçerli çalışma dizinini koşulsuz olarak değiştirir ve bu durum, "PowerShell ile çalıştır" aracılığıyla yürüttüğünüz betikler için çalışma dizini açısından istenmeyen sonuçlara yol açabilir.
Alternatif bir çözüm, .lnk
dosyalar için çalışma dizinini genellikle içinde bulunan PowerShell olarak değiştirmektir %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell
. Bir bağlantıya sağ tıklayın ve çalışma dizinini %HOMEDRIVE%%HOMEPATH%
istediğiniz dizine değiştirin .
Run as administrator
içinde .lnk
gelişmiş menü. Çözüm burada görünüyor stackoverflow.com/questions/31622469/…
-NoProfile
seçenek kullanılmalıdırpowershell -NoProfile -File "myscript.ps1"
Bunu PowerShell'de yazın:
New-Item -path $profile -type file –force
PowerShell klasöründe bir .ps1 dosyası oluşturur. Açın ve şu şekilde düzenleyin:
Set-location C:\files
Bitti
Bu bağlantıya bakın. İyi çalışıyor.
Önceki cevaplarda belirtildiği gibi çalışma dizinini koşulsuz olarak değiştirmek yerine, Set-Location
gerektiğinde çalışma dizinini hızlı bir şekilde değiştirmek için kullanmak üzere PowerShell profiline basit bir işlev yazabilirsiniz .
Bir PowerShell profili oluşturmak / değiştirmek için Jeremy Danyow'un yanıtını kontrol edin .
PowerShell profilinize bir işlev ekleyin:
function goto_this {set-location 'your\path\to\some\dir'}
function goto_that {set-location 'your\path to some\dir with space'}
Sadece işlev adını ve gösterilen dizini değiştirin. Yol boşluk içeriyorsa, yol üzerinde tırnak işareti kullanmak zorunludur. Öneki goto_
, işlevlerin adlarını hatırlamaya yardımcı olduğu için tutmaya çalışıyorum .
Yazmaya başlayabilir, goto_
ardından eklenen tüm işlevler arasında geçiş yapmak için SEKME tuşuna basabilirsiniz (işlevleri ekledikten / değiştirdikten sonra yeni bir PowerShell penceresi başlatmayı unutmayın).
Yalnızca komut satırını kullanarak, bir dosya zaten varsa, ona eklenir:
$(if (-Not (Test-Path ~\Documents\WindowsPowerShell\)){ mkdir ~\Documents\WindowsPowerShell\}) ; echo "Set-Location c:\THELOCATIONYOUWANT" >> ~\Documents\WindowsPowerShell\profile.ps1
Bununla birlikte, "çalışma dizini" ve PowerShell'in "konumu" konusunda bazı karışıklıklar var gibi görünüyor. Buradaki çoğu insanın yaptığı ve yapmayı söylediği, PowerShell'in "konumunu" değiştirmek. "Çalışma dizini" aslında farklıdır. İşte bunu açıklayan bir makale .
Makaleyi okumak istemeyenler için: PowerShell'i açın ve başkalarının yapmasını söylediklerini kullanın Set-Location "C:\some\directory"
. "Çalışma dizininizin" hala PowerShell'inizin açıldığı yerde olduğuna dikkat edin. Ya "~"
ya "%SYSTEMROOT%\system32"
sen yönetici olarak ya da değil kaçsam bağlı. Çalışma dizinini kontrol etmek için kullanın [Environment]::CurrentDirectory
.
Not: Makalede yazar, bu komutu kullanarak "çalışma dizini" ni kontrol etmeyi söylüyor:
\[Environment\]::CurrentDirectory
Bunun eski PowerShell sürümleriyle çalışıp çalışmadığından emin değilim, ancak PowerShell 5 (ve sonrası) ile kullanmanız gerekir [Environment]::CurrentDirectory
.