Comment puis-je 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 pour faire un clic droit dans un dossier et avoir une option comme "ouvrir PowerShell dans ce dossier"?

C'est vraiment ennuyeux d'avoir à changer de répertoire dans mon dossier de projet la première fois que J'exécute MSBuild tous les jours.

222
demandé sur Peter Mortensen 2008-10-08 21:30:16

17 réponses

Dans l'Explorateur Windows, allez dans la Barre d'Adresse en haut (raccourcis clavier: Alt+D ou Ctrl+L) et de type powershell ou powershell_ise et appuyez sur la touche Entrer. Une fenêtre de commande PowerShell s'ouvre avec le répertoire courant.

469
répondu Ashwin Nanjappa 2017-05-28 23:21:34

Juste pour ajouter à l'inverse comme une astuce, à une invite PowerShell, vous pouvez faire:

ii .

Ou

start .

Pour ouvrir une fenêtre de L'Explorateur Windows dans votre répertoire actuel.

99
répondu EBGreen 2017-05-28 23:23:56

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

Ou Alt + F, suivie par R.

62
répondu Vivek Maharajh 2017-05-28 23:25:54

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 vraiment facile d'aller modifier l'inf pour les personnalisations.

55
répondu Chris Sutton 2008-10-08 17:40:38

Comme alternative à la réponse ci-dessus, qui vous oblige à taper la commande PowerShell (powershell.exe ) chaque fois, vous pouvez 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 Windows Explorer différent. Le premier est celui que vous avez demandé:

  • HKCR \ Directory \ Background \ shell - c'est le menu contextuel de la fenêtre de l'Explorateur lui-même (qui est, le menu contextuel qui s'affiche lorsque aucun élément n'est sélectionné, comme lors d'un clic droit sur une zone vide de la fenêtre).
  • HKCR\Directory\shell - C'est le menu contextuel des dossiers dans l'Explorateur Windows.
  • HKCR \ Drive \ shell - c'est le menu contextuel pour les icônes de lecteur à la racine de L'Explorateur Windows.

Pour chacune de ces clés de registre, vous pouvez ajouter une sous-clé Commande" Ouvrir La fenêtre PowerShell ici "dans le menu contextuel, tout comme vous avez un menu contextuel "ouvrir la fenêtre de commande ici".

Voici une copie de mon Openpowershellici.reg fichier, qui place la commande dans le menu contextuel de chacun des objets de L'Explorateur, l'arrière-plan de la fenêtre, le dossier et 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'"

Donc, avec votre éditeur de texte préféré, ouvrez un nouveau fichier nommé Openpowershellici.reg. Copie de la exact le texte du code ci-dessus, coller dans le nouveau fichier et l'enregistrer. (J'aurais inclus une copie du fichier, mais je ne pouvais pas comprendre si les pièces jointes étaient possibles.) Si vous voulez exclure la commande de l'une des entrées, commentez simplement 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 demande, dites-lui de procéder. Dès que vous l'exécutez, les entrées du menu contextuel apparaîtra!

Voici mon explorateur menu contextuel de la fenêtre. J'ai mis en évidence les commandes console et PowerShell. Comme vous pouvez le voir, vous pouvez également ajouter une entrée de menu contextuel pour exécuter une fenêtre de commande élevée, c'est-à-dire Exécuter en tant Qu'Administrateur.

Entrée PowerShell dans le menu contextuel de L'Explorateur

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é pour le shell de commande élevé est " runas ", c'est pourquoi il vient après L'entrée PowerShell.

40
répondu geo 2016-02-04 19:53:47

Vous pouvez télécharger le fichier inf à partir d'ici - Présentation de L'invite PowerShell ici

32
répondu Gulzar Nazim 2008-10-08 17:40:40

Dans Windows 10, l'invite de commande et l'invite powershell peuvent être trouvées via la barre de menus, pour les non-admin et admin. Ces options auront son dossier défini sur le dossier actuellement sélectionné dans l'Explorateur.

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

Menu Windows Powershell

Si ce ne sont pas les caractères corrects, vous pouvez appuyer et maintenir la toucheAlt permet de voir les caractères corrects. il y aura un caractère superposant l'élément de menu pour chaque étape.

11
répondu Default 2016-12-13 11:05:27

Je voulais que ce menu contextuel ne fonctionne que lorsque clic droit et en maintenant Le 'SHIFT' qui est la façon dont le menu contextuel 'ouvrir la fenêtre de commande ici' fonctionne.

Cependant aucune des solutions n'ont que donc j'ai dû rouler mes propres .reg copie de fichier ci-dessous, enregistrez - power-shell-here-on-shift.reg " et double-cliquez sur elle.

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'"

ouvrez power shell ici tout en maintenant Maj enfoncée et en appuyant sur le clic droit

5
répondu Daniel Sokolowski 2015-11-21 21:37:07

C'est encore plus facile dans Windows 8.1 et Server 2012 R2.

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

Alors à chaque fois que vous voulez une invite de PowerShell, frappé Win+X, j'. (Ou Win + X, Un pour une invite Admin PowerShell)

4
répondu Warren Rumak 2013-12-27 18:26:11

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

Ou vous pouvez créer un raccourci qui ouvre PowerShell avec le dossier Start In étant votre dossier Projets.

4
répondu Steven Murawski 2017-05-28 23:22:13

Il y a une extension Windows Explorer faite par le mec qui fait des outils pour SVN qui ouvrira 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 PowerShell, mais je voulais partager l'amour avec mes frères Stack Overflow:

Http://tools.tortoisesvn.net/StExBar

3
répondu Josh Kodroff 2017-05-28 23:24:36

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

Ils incluent L'invite PowerShell ici et L'invite PowerShell ici en tant Qu'administrateur.

2
répondu Mark Larson 2012-07-10 16:35:34

Ce qui suit est une sommation concise (et mise à jour) des solutions précédentes. Voici ce qu'il faut faire:

Ajoutez ces chaînes et leurs clés parentes 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", tout le reste est superflu.

2
répondu ppw0 2016-11-10 20:59:39

En ajoutant les clés de Registre ci-dessous, dans Windows 10, j'ai réussi à obtenir l'option Open PowerShell Here dans mes menus contextuels SHIFT + RClick. Copiez-les simplement dans un fichier Bloc-notes vide, puis enregistrez-les en tant que Fichier .reg et exécutez le fichier pour ajouter la clé et cela 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 qu'avec les clés entrant dans HKLM \ SOFTWARE \ Classes \ Directory \ 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'"
1
répondu Rhys 2016-01-18 10:21:40
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 L'Explorateur Windows

1
répondu frank tan 2016-11-08 03:14:33

Une alternative assez simple consiste à invoquer PowerShell via un raccourci. Il existe une propriété de raccourci intitulée "Start in" qui indique quel répertoire (dossier) utiliser lorsque le raccourci est invoqué.

Si la case Démarrer Dans est vide, cela signifie utiliser le répertoire courant.

Lorsque vous créez pour la première fois un raccourci vers PowerShell de la manière habituelle, la zone Démarrer dans spécifie le répertoire personnel. Si vous videz la case Démarrer dans, vous avez maintenant un raccourci vers powershell qui ouvre PS dans le répertoire actuel, quoi que ce soit.

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

Il y a déjà une réponse acceptée à cette question, mais je l'offre comme une autre façon.

1
répondu Walter Mitty 2017-05-29 02:04:18

Pour les utilisateurs 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 de L'Explorateur Windows, Le PowerShell est ouvert dans le dossier actuel . Sinon, ouvrez simplement PowerShell dans un dossier par défaut .

Utilisation: 1) Installez AutoHotkey et copiez-le dans myscript.ahk 2) Remplacez <DefaultPath> par 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
répondu np8 2017-06-27 08:30:15