web-dev-qa-db-fra.com

Comment démarrer PowerShell à partir de l'Explorateur Windows?

Existe-t-il un moyen de démarrer PowerShell dans un dossier spécifique à partir de l'Explorateur Windows, par exemple faire un clic droit dans un dossier et disposer d'une option telle que "Ouvrir PowerShell dans ce dossier"?

C'est vraiment pénible de devoir changer de répertoire dans mon dossier de projet la première fois que j'exécute MSBuild tous les jours.

252
Josh Kodroff

Dans l'Explorateur Windows, accédez simplement à la barre d'adresses située en haut (raccourcis clavier: Alt+D ou Ctrl+L) et tapez powershell ou powershell_ise et appuyez sur Enter. Une fenêtre de commande PowerShell s'ouvre avec le répertoire actuel.

511
Ashwin Nanjappa

Pour ajouter simplement l’inverse, l’invite PowerShell vous permet:

ii .

ou

start .

d'ouvrir une fenêtre de l'explorateur Windows dans votre répertoire actuel.

102
EBGreen

Si vous utilisez Windows 8 ou une version ultérieure, vous pouvez simplement utiliser le fichier intégré → "Ouvrir Windows PowerShell".

Ou Alt + F suivi par R.

74
Vivek Maharajh

http://www.hanselman.com/blog/IntroducingPowerShellPromptHere.aspx

Scott Hanselman a un inf très simple qui le fera pour vous. Si vous voulez modifier le script, il est très facile de modifier l’inf pour les personnalisations.

57
Chris Sutton

Comme alternative à la réponse ci-dessus, vous devez taper chaque fois la commande PowerShell ( powershell.exe ) pour créer une entrée de menu contextuel. comme avec le menu contextuel "Ouvrir la fenêtre de commande ici".

Il y a trois clés de registre où ces commandes vont. Chaque touche contrôle le menu contextuel d'un objet différent de l'Explorateur Windows. Le premier est celui sur lequel vous avez posé des questions:

  • HKCR\Directory\Background\Shell - Il s'agit du menu contextuel de la fenêtre de l'explorateur lui-même (c'est-à-dire, le menu contextuel affiché lorsqu'aucun élément n'est sélectionné, par exemple lorsque vous cliquez avec le bouton droit de la souris sur un élément vide. zone de la fenêtre).
  • HKCR\Directory\Shell - Ceci est le menu contextuel des dossiers de l'Explorateur Windows.
  • HKCR\Drive\Shell - Il s'agit du menu contextuel des icônes de lecteur à la racine de l'Explorateur Windows.

Pour chacune de ces clés de registre, vous pouvez ajouter une sous-clé qui ajoutera une commande "Ouvrir la fenêtre PowerShell ici" au menu contextuel, tout comme vous avez un menu contextuel "Ouvrir la fenêtre de commande ici".

Voici une copie de mon fichier OpenPowerShellHere.reg, qui place la commande dans le menu contextuel de chacun des objets Explorer, de l'arrière-plan de la fenêtre, du dossier et de l'icône du lecteur:

Windows Registry Editor Version 5.00

;
; Add context menu entry to Windows Explorer background
;
[HKEY_CLASSES_ROOT\Directory\Background\Shell\powershell]
@="Open PowerShell window here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\Background\Shell\powershell\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

;
; Add context menu entry to Windows Explorer folders
;
[HKEY_CLASSES_ROOT\Directory\Shell\powershell]
@="Open PowerShell window here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\Shell\powershell\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

;
; Add context menu entry to Windows Explorer drive icons
;
[HKEY_CLASSES_ROOT\Drive\Shell\powershell]
@="Open PowerShell window here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Drive\Shell\powershell\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

Alors, avec votre éditeur de texte préféré, ouvrez un nouveau fichier nommé OpenPowerShellHere.reg. Copiez le texte exact du code ci-dessus, collez-le dans le nouveau fichier et enregistrez-le. (J'aurais inclus une copie du fichier, mais je ne pouvais pas savoir si les pièces jointes étaient possibles.) Si vous voulez exclure la commande de une des entrées, commentez la section appropriée avec des points-virgules. Mes commentaires vous montrent chaque section.

Après avoir enregistré le fichier, exécutez-le en double-cliquant dessus. Quand il le demande, dites-lui de procéder. Dès que vous l'exécutez, les entrées du menu contextuel seront affichées!

Voici le menu contextuel de ma fenêtre Explorer. J'ai mis en évidence les commandes console et PowerShell. Comme vous pouvez le constater, vous pouvez également ajouter une entrée de menu contextuel pour exécuter une fenêtre de commande avec privilèges élevés, c'est-à-dire , en tant qu'administrateur .

PowerShell entry in Explorer context menu

Note: Les entrées du menu contextuel sont affichées par ordre alphabétique, en fonction de leurs clés de registre. Le nom de clé de la commande élevée Shell est " runas ", raison pour laquelle il vient après l'entrée PowerShell.

Note: Si une fenêtre Explorer est ouverte, vous devrez peut-être la fermer et la rouvrir pour que la modification soit prise en compte.

Note: Sous Windows 7, le HKCR\Directory\Shell ne fonctionne pas si vous utilisez la boîte à outils à côté de l'explorateur

(c.-à-d. en cliquant sur Documents sous l'en-tête Bibliothèques)

vous devez naviguer en utilisant Computer -> C: -> to -> Some -> Target -> Directory

42
geo

Vous pouvez télécharger le fichier inf à partir d’ici - présentation de l’invite de PowerShell ici

33
Gulzar Nazim

Sous Windows 10, la commande Invite et l'invite powershell sont disponibles dans la barre de menus, pour les utilisateurs non administrateurs et les administrateurs. Le dossier de ces options sera défini sur le dossier actuellement sélectionné dans l'explorateur.

Pour la version suédoise au moins, le PowerShell est ouvert avec AltF+I. Pour un administrateur PowerShell c'est AltF+S+P.

Windows Powershell menu

Si ce ne sont pas les caractères corrects, vous pouvez maintenir la touche enfoncée. Alt clé pour voir les caractères corrects. il y aura un personnage superposant l'élément de menu pour chaque étape.

13
Default

Je voulais que ce menu contextuel ne fonctionne que lorsque un clic droit et maintenant le 'SHIFT' qui est la manière dont le construit ' Ouvrez la fenêtre de commande ici 'le menu contextuel fonctionne.

Cependant, aucune des solutions fournies ne l'a fait et j'ai donc dû créer mon propre fichier .reg. Copiez le fichier ci-dessous, enregistrez-le sous le format power-Shell-here-on-shift.reg Et double-cliquez dessus.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Shell\powershell]
@="Open PowerShell here"
"NoWorkingDirectory"=""
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\Shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%L'"

open power Shell here while holding shift and pressing right click

6
Daniel Sokolowski

Essayez le PowerShell PowerToy ... Il ajoute un élément de menu contextuel pour Ouvrez PowerShell ici .

Vous pouvez également créer un raccourci qui ouvre PowerShell avec le dossier Démarrer dans en tant que dossier Projets.

5
Steven Murawski

C'est encore plus simple sous Windows 8.1 et Server 2012 R2.

Faites ceci une fois: Cliquez avec le bouton droit de la souris sur la barre des tâches, choisissez Propriétés. Dans l'onglet Navigation, activez [✓] Remplacez l'invite de commande par Windows PowerShell dans le menu lorsque je clique avec le bouton droit de la souris sur le coin inférieur gauche ou que j'appuie sur la touche Windows + X.

Ensuite, chaque fois que vous souhaitez une invite PowerShell, appuyez sur Win+XI. (Ou Win+XA pour une invite Admin PowerShell)

3
Warren Rumak

Il y a une extension de l'explorateur Windows faite par le mec qui fabrique des outils pour SVN qui ouvriront au moins une fenêtre d'invite de commande.

Je ne l'ai pas encore essayé, donc je ne sais pas si ça va faire l'affaire PowerShell, mais je voulais partager l'amour avec mes frères de Stack Overflow:

http://tools.tortoisesvn.net/StExBar

3
Josh Kodroff

En ajoutant les clés de registre ci-dessous, sous Windows 10, j’ai réussi à obtenir l’option Ouvrir PowerShell ici dans mon SHIFT + RClick menus contextuels. Copiez-les simplement dans un fichier bloc-notes vide, puis enregistrez-les au format .reg fichier et exécutez le fichier pour ajouter la clé et il devrait fonctionner à partir de là. Certaines de ces autres réponses disent d’ajouter la clé dans HKCR\Directory\Shell mais j’ai trouvé que pour moi cela ne fonctionnait que si les clés entraient dans HKLM\LOGICIEL\Classes\Répertoire\Shell

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\Shell\powershell]
"Extended"=""
"NoWorkingDirectory"=""
@="Open PowerShell here"
"Icon"="%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\Shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\powershell]
@="Open PowerShell here"
"Extended"=""
"Icon"="%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"
"NoWorkingDirectory"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"
2
Rhys

Voici un résumé concis (et mis à jour) des solutions précédentes. Voici ce qu'il faut faire:

Ajoutez ces chaînes et leurs clés parent respectives:

pwrshell\(Default) < Open PowerShell Here
pwrshell\command\(Default) < powershell -NoExit -Command Set-Location -LiteralPath '%V'
pwrshelladmin\(Default) < Open PowerShell (Admin)
pwrshelladmin\command\(Default) < powershell -Command Start-Process -verb runAs -ArgumentList '-NoExit','cd','%V' powershell

à ces endroits

HKCR\Directory\Shell (for folders)
HKCR\Directory\Background\Shell (Explorer window)
HKCR\Drive\Shell (for root drives)

C'est ça. Ajoutez les chaînes "étendues" pour que les commandes ne soient visibles que si vous maintenez la touche "Shift" enfoncée, tout le reste est superflu.

2
ppw0

Une autre option est l'excellent Elevation PowerToys de Michael Murgolo sur TechNet à l'adresse http://technet.Microsoft.com/en-us/magazine/2008.06.elevation.aspx .

Ils incluent PowerShell Prompt Here et PowerShell Prompt Here en tant qu'administrateur.

2
Mark Larson

Une alternative assez simple consiste à appeler PowerShell via un raccourci. Il existe une propriété de raccourci intitulée "Démarrer dans" qui indique le répertoire (dossier) à utiliser lorsque le raccourci est appelé.

Si la zone Démarrer dans est vide, cela signifie que vous utilisez le répertoire actuel.

Lorsque vous créez un raccourci vers PowerShell pour la première fois, le champ Démarrer dans spécifie le répertoire de base. Si vous effacez la boîte de départ, vous avez maintenant un raccourci vers Powershell qui ouvre PS dans le répertoire actuel, quel qu’il soit.

Si vous copiez maintenant ce raccourci dans le répertoire cible et utilisez Explorer pour l'appeler, vous démarrerez un PS pointé vers le répertoire cible.

Il y a déjà une réponse acceptée à cette question, mais je propose cela d'une autre manière.

1
Walter Mitty
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
if(-not (Test-Path -Path "HKCR:\Directory\Shell\$KeyName"))
{
    Try
    {
        New-Item -itemType String "HKCR:\Directory\Shell\$KeyName" -value "Open PowerShell in this Folder" -ErrorAction Stop
        New-Item -itemType String "HKCR:\Directory\Shell\$KeyName\command" -value "$env:SystemRoot\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command Set-Location '%V'" -ErrorAction Stop
        Write-Host "Successfully!"
     }
     Catch
     {
         Write-Error $_.Exception.Message
     }
}
else
{
    Write-Warning "The specified key name already exists. Type another name and try again."
}

Vous pouvez télécharger le script de détail à partir de comment démarrer PowerShell à partir de Windows Explorer

1
frank tan

Pour les utilisateurs d’autohotkey, voici un extrait que j’utilise

Il ouvre la fenêtre PowerShell en appuyant sur Ctrl-Alt-T. (Testé avec Win10)

Si votre "fenêtre active" est une fenêtre Windows de l'Explorateur Windows, PowerShell est ouvert dans le dossier dossier actuel. Sinon, ouvrez simplement PowerShell dans certains dossier par défaut.

Utilisation: 1) Installez AutoHotkey, puis copiez-le dans myscript.ahk 2) Remplacez <DefaultPath> avec le chemin de votre choix. 3) Exécutez le script.

; Ctrl-Alt-T opens PowerShell in the current folder, if using Windows Explorer. Otherwise, just open the Powershell.
^!T::
if WinActive("ahk_class CabinetWClass") and WinActive("ahk_exe Explorer.exe")
{
    KeyWait Control
    KeyWait Alt
    Send {Ctrl down}l{Ctrl up}
    Send powershell{Enter}
}
else
{
    psScript =
    (
    cd 'C:\<DefaultPath>'
    ls
    )
    Run "%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe" -NoExit -Command &{%psScript%}
}
return
1
np8