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?
windows-7
powershell
batch-file
Ipsquiggle
quelle
quelle
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:
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 ändernquelle
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 diepowershell.exe
Verwendung hinweistsetx
, 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
quelle
%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 beinhaltencmd
-spezifische Konstrukte (for
, Variablenmanipulationif
), so dass PS anscheinend klug genug ist, um zu wissen, wann es aufgerufen werden musscmd.exe
.%ComSpec%
zu Powershell wechseln , werden die Befehle zur Steuerung der Quecksilberversion unterbrochen.