Kann ich PowerShell in Windows 7 als "Standard" festlegen?

9

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?

Ipsquiggle
quelle
5
Ich glaube nicht, dass Powershell Batch-Dateien interpretieren kann, daher sollten Sie diese wahrscheinlich nicht öffnen.
nhinkle

Antworten:

9

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.exeum 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\openRegistrierungsschlüssel zu ändern

SkyBeam
quelle
Vielen Dank! Ich werde es heute Abend versuchen. Der einzige Grund, warum Skripte in Powershell geöffnet werden sollen, ist die Konsistenz und Zusammenarbeit mit meinen Fenstertools. Sie haben Recht, dass es keinen inhärenten praktischen Grund gibt. ;)
Ipsquiggle
0

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.exeVerwendung 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

Paradroid
quelle
1
Warum ist es eine schlechte Idee? Nur neugierig.
Afrazier
@afrazier: Ich habe nicht mit dem Wechsel %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/ .batfiles 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.
Paradroid
1
Nur zum Kichern habe ich %ComSpec%auf PowerShell auf meinem Win7-System geändert . Die ersten paar .cmdDateien, 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.
Afrazier
Wenn Sie beispielsweise %ComSpec%zu Powershell wechseln , werden die Befehle zur Steuerung der Quecksilberversion unterbrochen.
Hoffnung