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.
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.
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.
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.
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.
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.
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.
Vous pouvez télécharger le fichier inf à partir d'ici - Présentation de L'invite PowerShell ici
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.
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.
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'"
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)
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.
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:
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.
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.
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'"
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
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.
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