software - ¿Cómo inicio PowerShell desde el Explorador de Windows?
tab explorer windows (17)
¿Hay alguna forma de iniciar PowerShell en una carpeta específica desde el Explorador de Windows, por ejemplo, hacer clic derecho en una carpeta y tener una opción como "Abrir PowerShell en esta carpeta"?
Es realmente molesto tener que cambiar los directorios a la carpeta de mi proyecto la primera vez que ejecuto MSBuild todos los días.
Para usuarios de autohotkey, he aquí un fragmento que estoy usando
Abre la ventana de PowerShell, al presionar Ctrl-Alt-T
. (Probado con Win10)
Si su "ventana activa" es una ventana del Explorador de Windows, entonces PowerShell se abre en la carpeta actual . De lo contrario, simplemente abra PowerShell en alguna carpeta predeterminada .
Uso: 1) Instale AutoHotkey y copie y pegue esto en myscript.ahk 2) Reemplace <DefaultPath>
con la ruta de su elección. 3) Ejecutar el 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
A continuación se presenta un resumen conciso (y actualizado) de las soluciones anteriores. Esto es lo que hay que hacer:
Agregue estas cadenas y sus respectivas claves principales:
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
en estos lugares
HKCR/Directory/shell (for folders)
HKCR/Directory/Background/shell (Explorer window)
HKCR/Drive/shell (for root drives)
Eso es. Agregue las cadenas "Extendidas" para que los comandos solo sean visibles si mantiene presionada la tecla "Shift", todo lo demás es superfluo.
Al agregar las claves de registro a continuación, en Windows 10, logré obtener la opción Abrir PowerShell aquí en mis menús contextuales SHIFT + RClick
. Simplemente copie estos en un archivo de bloc de notas en blanco, luego guárdelo como un archivo .reg
y ejecute el archivo para agregar la clave y debería funcionar desde allí. Algunas de estas otras respuestas dicen que agregar la clave en HKCR / Directory / shell, pero descubrí que para mí solo funcionaba con las claves que van a 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''"
Como alternativa a la respuesta anterior, que requiere que escriba el comando de PowerShell ( powershell.exe ) cada vez, puede crear una entrada en el menú contextual al igual que con el menú contextual " Abrir ventana de comandos aquí ".
Hay tres claves de registro donde van estos comandos. Cada tecla controla el menú contextual de un objeto diferente del Explorador de Windows. El primero es el que preguntaste sobre:
- HKCR / Directory / Background / shell : este es el menú contextual de la propia ventana del Explorador (es decir, el menú contextual que se muestra cuando no se selecciona ningún elemento, como cuando se hace clic con el botón derecho en un área vacía de la ventana).
- HKCR / Directory / shell : este es el menú contextual de las carpetas en el Explorador de Windows.
- HKCR / Drive / shell : este es el menú contextual para los iconos de unidad en la raíz del Explorador de Windows.
Para cada una de estas claves de registro, puede agregar una subclave que agregará un comando "Abrir ventana de PowerShell aquí" al menú contextual, al igual que tiene el menú contextual "Abrir ventana de comandos aquí".
Aquí hay una copia de mi archivo OpenPowerShellHere.reg , que coloca el comando en el menú contextual de cada uno de los objetos del Explorador, el fondo de la ventana, la carpeta y el icono de la unidad:
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''"
Entonces, con su editor de texto favorito, abra un nuevo archivo llamado OpenPowerShellHere.reg . Copie el texto exacto del código anterior, péguelo en el nuevo archivo y guárdelo. (Hubiera incluido una copia del archivo, pero no pude averiguar si era posible adjuntar archivos). Si desea excluir el comando de una de las entradas, simplemente comente la sección correspondiente con un punto y coma. Mis comentarios te muestran cada sección.
Después de guardar el archivo, ejecútelo haciendo doble clic en él. Cuando pregunte, dile que proceda. Tan pronto como lo ejecute, aparecerán las entradas del menú contextual.
Aquí está mi menú contextual de la ventana del explorador. He resaltado la consola y los comandos de PowerShell. Como puede ver, también puede agregar una entrada de menú de contexto para ejecutar una ventana de comandos elevada, es decir, Ejecutar como Administrador .
Nota : las entradas del menú contextual se muestran alfabéticamente, según sus claves de registro. El nombre clave para el shell de comando elevado es " runas ", por lo que aparece después de la entrada de PowerShell.
En Windows 10, tanto el símbolo del sistema como el indicador de powershell se pueden encontrar a través de la barra de menú, tanto para usuarios no administradores como para administradores. Estas opciones tendrán su carpeta establecida en la carpeta seleccionada actualmente desde el explorador.
Al menos para la versión sueca, el powershell se abre con Alt F + I. Para un administrador de PowerShell es Alt F + S + P.
Si esos no son los caracteres correctos, puede presionar y mantener presionada la tecla Alt para ver los caracteres correctos. Habrá un personaje superponiendo el elemento del menú para cada paso.
Es aún más fácil en Windows 8.1 y Server 2012 R2.
Haga esto una vez: haga clic derecho en la barra de tareas, elija Propiedades. En la pestaña de navegación, active [✓] Reemplazar el símbolo del sistema con Windows PowerShell en el menú cuando hago clic con el botón derecho en la esquina inferior izquierda o presiono la tecla de Windows + X.
Luego, cuando quieras un indicador de PowerShell, presiona Win + X , I. (O Win + X , A para un indicador de Admin PowerShell)
Hay una extensión del Explorador de Windows hecha por el tipo que hace herramientas para SVN que al menos abrirá una ventana de comando.
No lo he probado todavía, así que no sé si funcionará con PowerShell, pero quería compartir el amor con mis hermanos de :
Otra opción son los excelentes Elevation PowerToys de Michael Murgolo en TechNet en http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx .
Incluyen PowerShell Prompt Here y PowerShell Prompt Here como administrador.
Pruebe PowerShell PowerToy ... Agrega un elemento del menú contextual para Abrir PowerShell aquí .
O puede crear un acceso directo que abra PowerShell, ya que la carpeta Iniciar en será la carpeta Proyectos.
Puede descargar el archivo inf desde aquí: aquí se presenta la solicitud de http://www.hanselman.com/blog/IntroducingPowerShellPromptHere.aspx
Quería que este menú contextual funcionara solo haciendo clic derecho y manteniendo presionado el botón ''SHIFT'', que es como funciona el menú contextual integrado en ''Abrir ventana de comandos aquí''.
Sin embargo, ninguna de las soluciones proporcionadas hizo eso, así que tuve que rodar mi propio archivo .reg
: copie el siguiente archivo, guárdelo como power-shell-here-on-shift.reg
y haga doble clic en él.
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''"
Si está en Windows 8 o posterior, simplemente puede usar el Archivo incorporado → "Abrir Windows PowerShell".
O Alt + F seguido de R.
Solo para agregar al revés como un truco, en un indicador de PowerShell puede hacer:
ii .
o
start .
para abrir una ventana del Explorador de Windows en su directorio actual.
Una alternativa bastante simple es invocar PowerShell a través de un acceso directo. Hay una propiedad de acceso directo con la etiqueta "Iniciar en" que dice qué directorio (carpeta) usar cuando se invoca el acceso directo.
Si el cuadro Iniciar en está en blanco, significa usar el directorio actual.
Cuando crea un acceso directo a PowerShell por primera vez de la forma habitual, el cuadro de inicio en especifica el directorio de inicio. Si borra el inicio en el cuadro, ahora tiene un acceso directo a powershell que abre PS en el directorio actual, sea lo que sea.
Si ahora copia este acceso directo al directorio de destino y usa el explorador para invocarlo, iniciará un PS que apunta al directorio de destino.
Ya hay una respuesta aceptada a esta pregunta, pero ofrezco esto de otra manera.
http://www.hanselman.com/blog/IntroducingPowerShellPromptHere.aspx
Scott Hanselman tiene una información muy simple que hará esto por ti. Si desea ajustar la secuencia de comandos, es muy fácil ir y editar la información para las personalizaciones.
En el Explorador de Windows, solo vaya a la barra de direcciones en la parte superior (atajos de teclado: Alt + D o Ctrl + L ) y escriba powershell
o powershell_ise
y presione Entrar . Se abre una ventana de comando de PowerShell con el directorio actual.
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."
}
Puede descargar el script de detalles de cómo iniciar PowerShell desde el Explorador de Windows