Je voudrais, par défaut, que PowerShell soit lancé au lieu de Command lorsque, par exemple, en exécutant un fichier batch, ou lorsque j'ouvre la fenêtre de commande ici, etc.
Aucune suggestion?
windows-7
powershell
batch-file
Ipsquiggle
la source
la source
Réponses:
Je viens de faire un test très rapide et l'entrée de registre suivante ajoutera un élément "PowerShell ici" au menu contextuel de tous les dossiers dans l'explorateur:
Importez-le simplement dans le registre. J'utilise
cmd.exe
pour bootstrap powershell afin d'éviter d'avoir à coder en dur le chemin.Concernant les scripts cmd / fichiers batch. Je pense que cela n'a pas beaucoup de sens d'exécuter des scripts CMD dans PowerShell par défaut. Mais cela pourrait aussi être possible en modifiant la
HKCR\cmdfile\shell\open
clé de registrela source
Vous n'irez pas très loin avec l'exécution de fichiers batch CMD dans PowerShell.
Vous pouvez essayer de changer la
%COMSPEC%
variable pour pointer vers l'powershell.exe
utilisationsetx
, mais je ne pense pas qu'il vous faudra longtemps pour réaliser que c'est une très mauvaise idée et la changer à nouveau.enregistrez le fichier sous * .ps1 au lieu de * .bat et il utilisera powershell
la source
%COMSPEC%
à un shell non compatible CMD, mais je suppose que le changer en PowerShell entraînerait l' exécution de.cmd
/.bat
files dans PowerShell, donc ils échoueraient. J'ai installé beaucoup de logiciels qui devaient utiliser des fichiers batch, donc ce serait une mauvaise idée. De plus, je suis un peu biaisé, car j'utilise CMD tout le temps (en fait, TCC, qui est un surensemble étendu), pour la gestion quotidienne des fichiers - j'utilise uniquement PowerShell pour les choses système, bien que j'aie beaucoup plus à apprendre, comme c'est tellement puissant en comparaison.%ComSpec%
pour pointer vers PowerShell sur mon système Win7. Les deux premiers.cmd
fichiers que j'ai testés fonctionnent très bien. Ils impliquent descmd
constructions spécifiques (for
, manipulation de variables,if
), donc PS est apparemment assez intelligent pour savoir quand il doit l'invoquercmd.exe
.%ComSpec%
à PowerShell rompt les commandes de contrôle de la version mercurielle.