Posso impostare PowerShell come "predefinito" in Windows 7?


9

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?


5
Non credo che PowerShell possa interpretare i file batch, quindi probabilmente non dovresti aprirli.
Pensa

Risposte:


9

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.exeBootstrap 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\openchiave di registro


Grazie! Proverò questi stasera. L'unica ragione per cui voglio che gli script si aprano in PowerShell è per coerenza e collaborazione con i miei strumenti per finestre. Hai ragione sul fatto che non esiste una ragione pratica intrinseca. ;)
Ipsquiggle

0

Non andrai molto lontano con l'esecuzione di file batch CMD in PowerShell.

Puoi provare a cambiare la %COMSPEC%variabile per puntare powershell.exeall'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


1
Perché è una cattiva idea? Solo curioso.
Afrazier

@afrazier: Non ho sperimentato con il cambiamento %COMSPEC%di una shell non CMD-compatibile, ma suppongo che a cambiarlo con PowerShell comporterebbe .cmd/ .batfile 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.
paradroid

1
Solo per risatine, ho cambiato %ComSpec%per puntare a PowerShell sul mio sistema Win7. I primi .cmdfile che ho provato funzionano bene. Coinvolgono cmdcostrutti specifici ( for, manipolazione variabile if), quindi PS è apparentemente abbastanza intelligente da sapere quando deve invocare cmd.exe.
Afrazier

Ad esempio, il passaggio %ComSpec%a PowerShell interrompe i comandi di controllo della versione mercuriale.
Spero il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.