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 Documentsklasörün adında bir klasör bulmak WindowsPowerShellklasik PowerShell veya PowerShellyeni PowerShell Çekirdek. Eğer yoksa, sorun değil; sadece yaratın.
profile.ps1içinde WindowsPowerShell(veya klasör PowerShellPowerShell Çekirdek).profile.ps1Varsayılan çalışma dizininizi ayarlamak için aşağıdaki komutu açın ve ekleyin:
Set-Location C:\my\default\working\directoryYeni 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 administratoriçinde .lnkgelişmiş menü. Çözüm burada görünüyor stackoverflow.com/questions/31622469/…
Run as aministratoronay 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-LocationProfilinize 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, .lnkdosyalar 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 administratoriçinde .lnkgelişmiş menü. Çözüm burada görünüyor stackoverflow.com/questions/31622469/…
-NoProfileseç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-Locationgerektiğ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.