Domyślnie chciałbym, aby PowerShell był uruchamiany zamiast Command, gdy powiedzmy, uruchamiając plik wsadowy lub gdy „Otwieram okno poleceń tutaj” itp.
Jakieś sugestie?
Domyślnie chciałbym, aby PowerShell był uruchamiany zamiast Command, gdy powiedzmy, uruchamiając plik wsadowy lub gdy „Otwieram okno poleceń tutaj” itp.
Jakieś sugestie?
Odpowiedzi:
Właśnie wykonałem bardzo szybki test i następujący wpis rejestru doda pozycję „PowerShell tutaj” do menu kontekstowego wszystkich folderów w eksploratorze:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere]
@="&PowerShell here"
[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere\command]
@="cmd.exe /c start \"PS\" powershell.exe -NoExit -Command \"cd \\\"%1\\\"\""
Po prostu zaimportuj go do rejestru. Używam cmd.exe
do ładowania PowerShell, aby uniknąć konieczności kodowania ścieżki na stałe.
Odnośnie skryptów cmd / plików wsadowych. Myślę, że domyślnie nie ma sensu uruchamiać skryptów CMD w PowerShell. Ale może to być również możliwe poprzez modyfikację HKCR\cmdfile\shell\open
klucza rejestru
Nie zajdziesz daleko za sprawą uruchamiania plików wsadowych CMD w PowerShell.
Możesz spróbować zmienić %COMSPEC%
zmienną tak, by wskazywała na powershell.exe
użycie setx
, ale nie sądzę, że zajmie ci to dużo czasu, zanim zorientujesz się, że to naprawdę zły pomysł, i zmień ją ponownie.
zapisz plik jako * .ps1 zamiast * .bat, a on użyje programu PowerShell
%COMSPEC%
na powłokę niezgodną z CMD, ale zakładam, że zmiana na PowerShell spowodowałaby, że .cmd
/ .bat
pliki próbowałyby uruchomić się w PowerShell, więc nie powiodłyby się. Zainstalowałem wiele programów, które wymagały użycia plików wsadowych, więc zrobienie tego byłoby złym pomysłem. Jestem również nieco stronniczy, ponieważ cały czas używam CMD (właściwie TCC, który jest rozszerzonym nadzbiorem), do codziennego zarządzania plikami - używam PowerShell tylko do rzeczy systemowych, chociaż mam o wiele więcej do nauczenia się, ponieważ jest tak potężny w porównaniu.
%ComSpec%
aby wskazać PowerShell w moim systemie Win7. Pierwsze kilka .cmd
plików, które przetestowałem, działa dobrze. Obejmują one cmd
konstrukty specyficzne ( for
, Zmienna manipulacja if
), więc PS jest najwyraźniej wystarczająco inteligentny, aby wiedzieć, kiedy musi się wywołać cmd.exe
.
%ComSpec%
na PowerShell przerywa komendy kontroli wersji rtęciowej.