Vorrei, per impostazione predefinita, avviare PowerShell anziché Command quando, per esempio, eseguivo un file batch o quando "Apri finestra di comando qui", ecc.
Eventuali suggerimenti?
Vorrei, per impostazione predefinita, avviare PowerShell anziché Command quando, per esempio, eseguivo un file batch o quando "Apri finestra di comando qui", ecc.
Eventuali suggerimenti?
Risposte:
Ho appena eseguito un test molto rapido e la seguente voce di registro aggiungerà un elemento "PowerShell qui" al menu di scelta rapida di tutte le cartelle in Explorer:
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\\\"\""
Basta importarlo nel registro. Sto usando cmd.exe
Bootstrap PowerShell per evitare di dover codificare il percorso.
Riguardo a script cmd / file batch. Penso che non abbia molto senso eseguire script CMD in PowerShell per impostazione predefinita. Ma potrebbe essere possibile anche modificando la HKCR\cmdfile\shell\open
chiave di registro
Non andrai molto lontano con l'esecuzione di file batch CMD in PowerShell.
Puoi provare a cambiare la %COMSPEC%
variabile per puntare powershell.exe
all'utilizzo setx
, ma non credo che ci vorrà molto tempo per capire che questa è una pessima idea e cambiarla di nuovo.
salva il file come * .ps1 invece di * .bat e utilizzerà powershell
%COMSPEC%
di una shell non CMD-compatibile, ma suppongo che a cambiarlo con PowerShell comporterebbe .cmd
/ .bat
file tentativo di eseguire in PowerShell, quindi avrebbero fallire. Ho installato un sacco di software che doveva usare file batch, quindi sarebbe una cattiva idea. Inoltre, sono un po 'di parte, poiché uso sempre CMD (in realtà, TCC, che è un superset espanso), per la gestione dei file di tutti i giorni - Uso PowerShell solo per roba di sistema, anche se ho molto altro da imparare, come è così potente in confronto.
%ComSpec%
per puntare a PowerShell sul mio sistema Win7. I primi .cmd
file che ho provato funzionano bene. Coinvolgono cmd
costrutti specifici ( for
, manipolazione variabile if
), quindi PS è apparentemente abbastanza intelligente da sapere quando deve invocare cmd.exe
.
%ComSpec%
a PowerShell interrompe i comandi di controllo della versione mercuriale.