Ich möchte standardmäßig, dass PowerShell anstelle von Command gestartet wird, wenn beispielsweise eine Batchdatei ausgeführt wird oder wenn ich "Befehlsfenster hier öffnen" usw.
Irgendwelche Vorschläge?
Ich möchte standardmäßig, dass PowerShell anstelle von Command gestartet wird, wenn beispielsweise eine Batchdatei ausgeführt wird oder wenn ich "Befehlsfenster hier öffnen" usw.
Irgendwelche Vorschläge?
Antworten:
Ich habe gerade einen sehr schnellen Test durchgeführt und der folgende Registrierungseintrag fügt dem Kontextmenü aller Ordner im Explorer ein Element "PowerShell hier" hinzu:
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\\\"\""
Importieren Sie es einfach in die Registrierung. Ich verwende, cmd.exe
um Powershell zu booten, um zu vermeiden, dass der Pfad hart codiert werden muss.
In Bezug auf cmd-Skripte / Batch-Dateien. Ich denke, es macht nicht viel Sinn, CMD-Skripte standardmäßig in PowerShell auszuführen. Es kann aber auch möglich sein, den HKCR\cmdfile\shell\open
Registrierungsschlüssel zu ändern
Mit der Ausführung von CMD-Batchdateien in PowerShell werden Sie nicht weit kommen.
Sie können versuchen, die %COMSPEC%
Variable so zu ändern , dass sie auf die powershell.exe
Verwendung hinweist setx
, aber ich glaube nicht, dass Sie lange brauchen werden, um zu erkennen, dass dies eine wirklich schlechte Idee ist, und sie wieder zu ändern.
Speichern Sie die Datei als * .ps1 anstelle von * .bat und es wird Powershell verwendet
%COMSPEC%
zu einer nicht CMD-kompatiblen Shell experimentiert , aber ich gehe davon aus, dass der Wechsel zu PowerShell dazu führen würde, dass .cmd
/ .bat
files versuchen, in PowerShell ausgeführt zu werden, sodass sie fehlschlagen. Ich habe eine Menge Software installiert, die Batch-Dateien verwenden musste, daher wäre dies eine schlechte Idee. Außerdem bin ich ein bisschen voreingenommen, da ich ständig CMD (eigentlich TCC, eine erweiterte Obermenge) für die tägliche Dateiverwaltung verwende - ich verwende PowerShell nur für Systemaufgaben, obwohl ich noch viel mehr zu lernen habe es ist im Vergleich so mächtig.
%ComSpec%
auf PowerShell auf meinem Win7-System geändert . Die ersten paar .cmd
Dateien, die ich getestet habe, funktionieren einwandfrei. Sie beinhalten cmd
-spezifische Konstrukte ( for
, Variablenmanipulation if
), so dass PS anscheinend klug genug ist, um zu wissen, wann es aufgerufen werden muss cmd.exe
.
%ComSpec%
zu Powershell wechseln , werden die Befehle zur Steuerung der Quecksilberversion unterbrochen.