Czy istnieje sposób na zmianę domyślnej lokalizacji programu PowerShell?
Jak ustawić domyślny katalog roboczy PowerShell?
windows
powershell
Youbloodywombat
źródło
źródło
Odpowiedzi:
Możesz określić katalog do otwarcia podczas uruchamiania PowerShell:
Po prostu użyj go w swoim skrócie.
Lub użyj profilu, aby ustawić katalog startowy.
źródło
pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
Utwórz profil programu PowerShell w następujący sposób.
Uruchom PowerShell jako administrator i wykonaj następujące polecenie:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Umożliwi to PowerShell uruchamianie lokalnych skryptów i skryptów pobranych z Internetu, które zostały podpisane. Przeczytaj więcej o tym poleceniu w dokumentacji .
W
Documents
folderze znajdź folder o nazwieWindowsPowerShell
dla klasycznego programu PowerShell lubPowerShell
dla nowszego programu PowerShell Core. Jeśli nie istnieje, to w porządku; po prostu go stwórz.profile.ps1
wWindowsPowerShell
folderze (lubPowerShell
dla programu PowerShell Core).Otwórz
profile.ps1
i dodaj następujące polecenie, aby ustawić domyślny katalog roboczy:Otwórz nowe okno PowerShell ... zmiany powinny zacząć obowiązywać.
źródło
powershell -File "myscript.ps1"
powershel -NoProfile -File "myscript.ps1"
Wypróbowałem powyższe odpowiedzi w systemie Windows Server 2016 bez powodzenia.
Ale stwierdziłem, że to podejście (powinno być takie samo dla Windows 10) działa dla mnie.
Gotowe!
W tym samym oknie dialogowym Właściwości możesz również zmienić wiele innych ustawień, takich jak czcionki, kolory, rozmiary i na karcie Skrót za pomocą przycisku Advanced. Możesz wybrać, czy ta sesja PowerShell ma być uruchamiana z uprawnieniami administratora.
źródło
Run as administrator
w.lnk
menu zaawansowanym. Wydaje się, że rozwiązanie jest tutaj stackoverflow.com/questions/31622469/ ...Run as aministrator
pole wyboru w tę iz powrotem.Prostszy sposób ustawienia katalogu domyślnego jest następujący:
Kliknij prawym przyciskiem myszy ikonę Windows PowerShell w menu Start i ponownie kliknij prawym przyciskiem myszy Windows PowerShell i wybierz Właściwości (nie Uruchom jako administrator, a nie Windows PowerShell ISE )
źródło
Umieszczenie
Set-Location
w swoim profilu bezwarunkowo zmieni bieżący katalog roboczy, co może mieć niepożądane konsekwencje w odniesieniu do katalogu roboczego skryptów, które wykonujesz za pomocą funkcji „uruchom z PowerShell”.Alternatywnym rozwiązaniem jest zmiana katalogu roboczego dla
.lnk
plików na PowerShell, który zwykle znajduje się w%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell
. Kliknij łącze prawym przyciskiem myszy i zmień katalog roboczy z%HOMEDRIVE%%HOMEPATH%
na żądany katalog.źródło
Run as administrator
w.lnk
menu zaawansowanym. Wydaje się, że rozwiązanie jest tutaj stackoverflow.com/questions/31622469/ ...-NoProfile
opcji takiej jakpowershell -NoProfile -File "myscript.ps1"
Wpisz to w PowerShell:
Tworzy plik .ps1 w folderze PowerShell. Otwórz go i edytuj jako:
Gotowe
Skorzystaj z tego łącza. To działa dobrze.
Zmień katalog startowy programu PowerShell
źródło
Zamiast bezwarunkowej zmiany katalogu roboczego, jak wspomniano w poprzednich odpowiedziach, możesz napisać prostą funkcję w profilu programu PowerShell,
Set-Location
aby szybko zmienić katalog roboczy w razie potrzeby.Sprawdź odpowiedź Jeremy'ego Danyowa, aby utworzyć / zmodyfikować profil PowerShell.
Dodaj funkcje do swojego profilu PowerShell:
Po prostu zmień nazwę funkcji i wskazany katalog. Używanie cudzysłowów na ścieżce jest obowiązkowe, jeśli zawiera spacje. Staram się zachować przedrostek,
goto_
ponieważ pomaga zapamiętać nazwy funkcji.Możesz zacząć pisać,
goto_
a następnie nacisnąć TAB, aby przejść przez wszystkie dodane funkcje (pamiętaj, aby po dodaniu / zmodyfikowaniu funkcji uruchomić nowe okno PowerShell).źródło
Używając tylko wiersza poleceń, jeśli plik już istnieje, zostanie do niego dołączony:
źródło
W związku z tym wydaje się, że istnieje pewne zamieszanie dotyczące „katalogu roboczego” i „lokalizacji” programu PowerShell. To, co większość ludzi tutaj robi i mówi do zrobienia, to zmiana „lokalizacji” programu PowerShell. „Katalog roboczy” jest w rzeczywistości inny. Oto artykuł, który to wyjaśnia.
Dla tych, którzy nie chcą czytać artykułu: Otwórz PowerShell i wykorzystaj to, co powiedzieli inni
Set-Location "C:\some\directory"
. Zwróć uwagę, że Twój „katalog roboczy” nadal jest miejscem, w którym otwarto program PowerShell. Albo"~"
czy"%SYSTEMROOT%\system32"
w zależności czy prowadził jako administrator lub nie. Aby sprawdzić katalog roboczy, użyj[Environment]::CurrentDirectory
.Uwaga: w artykule autor mówi, aby sprawdzić „katalog roboczy” za pomocą tego polecenia:
Nie jestem pewien, czy działa to ze starszymi wersjami PowerShell, ale z PowerShell 5 (i nowszymi) musisz użyć
[Environment]::CurrentDirectory
.źródło
Wyjście zapisu "Ustaw położenie C: \" >> $ profile
źródło
Spraw, aby był to pierwszy wiersz w Twoim Profile.ps1 i PowerShell Core (pwsh) otworzy się w katalogu, w którym aktualnie pracujesz:
set-location (get-location) .path
źródło
To rozwiązanie ustawia bieżący folder roboczy w lokalizacji, w której znajduje się skrypt. Pamiętaj, aby umieścić go na początku skryptu lub przynajmniej przed próbą użycia polecenia w oparciu o ścieżkę lokalizacji.
źródło