Como inicio o PowerShell no Windows Explorer?

259

Existe uma maneira de iniciar o PowerShell em uma pasta específica do Windows Explorer, por exemplo, clicar com o botão direito do mouse em uma pasta e ter uma opção como "Abrir o PowerShell nesta pasta"?

É realmente irritante ter que mudar de diretório para a pasta do meu projeto na primeira vez em que executo o MSBuild todos os dias.

Josh Kodroff
fonte
16
[Alt] [F + S + A] para iniciar o PowerShell do administrador na pasta atual. Para o Windows 10, pelo menos.
Rosdi Kasim
Esta é a resposta: channel9.msdn.com/Shows/Defrag-Tools/…
HelpingHand 18/17

Respostas:

526

No Windows Explorer, basta ir para a barra de endereços na parte superior (atalhos de teclado: Alt+ Dou Ctrl+ L) e digite powershellou powershell_isee pressione Enter. Uma janela de comando do PowerShell é aberta com o diretório atual.

Ashwin Nanjappa
fonte
3
Quando faço isso no Win 7, o Windows Explorer me leva a uma pasta que tenho chamada PowerShell!
Sabuncu
35
Se você estiver no Windows 8, ou mais tarde, você pode simplesmente usar o built-in File -> "abrir o Windows PowerShell"
Vivek Maharajh
7
Também não funciona se você tiver um perfil do PowerShell que define o diretório de inicialização. Se você deseja inicializar sem o perfil, poderá usar "powershell -noprofile", mas perderá as configurações que tiver no perfil. Sempre há uma troca.
Grahamesd 28/05
9
algum atalho para abri-lo como administrador?
Arsalan Ahmad
3
Em vez de powershell, você também pode digitar powershell_ise, que é melhor, pois é finalmente redimensionável e possui uma fonte adequada.
Michael S.
106

Apenas para adicionar o contrário, como um truque, em um prompt do PowerShell, você pode:

ii .

ou

start .

para abrir uma janela do Windows Explorer no diretório atual.

EBGreen
fonte
1
@ EBGreen, o que iisignifica?
Pacerier 31/12/14
5
Bem, em um prompt do PowerShell, você pode simplesmente digitar: Get-Command ii e verá que é um apelido para Invoke-Item.
precisa
79

Se você estiver no Windows 8 ou posterior, pode simplesmente usar o Arquivo incorporado → "Abrir o Windows PowerShell".

Ou Alt+ Fseguido por R.

Vivek Maharajh
fonte
1
Sim. Também fixei a versão "Iniciar como administrador".
Vivek Maharajh
@Andrej, como você faz isso?
Pacerier
1
@Pacerier, com o botão direito do mouse no item de menu correspondente (por exemplo, em "Abrir Windows PowerShell").
Andrej
@Andrej, Ao "fixar", você quer dizer a opção "Adicionar à Barra de Ferramentas de Acesso Rápido"?
Pacerier
1
@ Pacerier, tenho certeza de que é isso que ele quer dizer. Você também pode fixar na sua barra de tarefas. Após abri-lo, clique com o botão direito do mouse no ícone da barra de tarefas e fixe-o.
Vivek Maharajh
57

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

Scott Hanselman tem um inf muito simples que fará isso por você. Se você deseja ajustar o script, é realmente fácil editar e editar o inf para personalizações.

Chris Sutton
fonte
Você pode fornecer um resumo (por exemplo, a podridão do link é sempre um problema)?
Peter Mortensen
O que é um "inf" (neste contexto)?
Peter Mortensen
44

Como alternativa à resposta acima, que exige que você digite o comando do PowerShell ( powershell.exe ) a cada vez, é possível criar uma entrada de menu de contexto, como no menu de contexto " Abrir janela de comando aqui ".

Existem três chaves de registro para onde esses comandos vão. Cada tecla controla o menu de contexto de um objeto diferente do Windows Explorer. O primeiro é o que você perguntou sobre:

  • HKCR \ Directory \ Background \ shell - Esse é o menu de contexto da própria janela do Explorer (ou seja, o menu de contexto que é exibido quando nenhum item é selecionado, como ao clicar com o botão direito do mouse em uma área vazia da janela).
  • HKCR \ Directory \ shell - este é o menu de contexto das pastas no Windows Explorer.
  • HKCR \ Drive \ shell - Este é o menu de contexto para os ícones de unidade na raiz do Windows Explorer.

Para cada uma dessas chaves do Registro, você pode adicionar uma subchave que adicionará um comando "Abrir janela do PowerShell aqui" ao menu de contexto, assim como você tem um menu de contexto "Abrir janela de comando aqui".

Aqui está uma cópia do meu arquivo OpenPowerShellHere.reg , que coloca o comando no menu de contexto de cada um dos objetos do Explorer, o plano de fundo da janela, a pasta e o ícone da unidade:

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

Portanto, com seu editor de texto favorito, abra um novo arquivo chamado OpenPowerShellHere.reg . Copie o texto exato do código acima, cole-o no novo arquivo e salve-o. (Eu teria incluído uma cópia do arquivo, mas não consegui descobrir se os anexos eram possíveis.) Se você deseja excluir o comando de uma das entradas, basta comentar a seção apropriada com ponto e vírgula. Meus comentários mostram cada seção.

Depois de salvar o arquivo, execute-o clicando duas vezes nele. Quando pedir, diga para prosseguir. Assim que você executá-lo, as entradas do menu de contexto aparecerão!

Aqui está o meu menu de contexto da janela do Explorer. Eu destaquei o console e os comandos do PowerShell. Como você pode ver, você também pode adicionar uma entrada no menu de contexto para executar uma janela de comando elevada, ou seja, Executar como Administrador .

Entrada do PowerShell no menu de contexto do Explorer

Nota : As entradas do menu de contexto são exibidas em ordem alfabética, com base em suas chaves do Registro. O nome da chave do shell de comando elevado é " runas ", e é por isso que vem após a entrada do PowerShell.

Nota : Se você tiver uma janela do explorer aberta, pode ser necessário fechá-la e reabri-la para que as alterações entrem em vigor.

Nota : No Windows 7, o HKCR\Directory\Shellnão funcionará se você usar o kit de ferramentas na lateral do explorer

(ou seja, clicando em Documentos sob o cabeçalho Bibliotecas)

você deve navegar usando Computer -> C: -> to -> Some -> Target -> Directory

geo
fonte
Um problema aqui é quando eu abro uma janela PS usando esse menu de contexto e entro git help <cmd>, ele despeja o arquivo de ajuda html na janela PS como texto sem formatação. Quando uso o menu Iniciar, a janela PS abre o navegador como deveria.
ProfK
@ProfK, não tenho certeza do que está acontecendo lá, já que não uso o 'git'; no entanto, a janela PS que é aberta usando este menu de contexto é idêntica à janela PS que é aberta usando o menu Iniciar, a menos que você esteja usando o PowerShell ISE quando você o executa no menu Iniciar. Se for esse o caso, você pode alterar "powershell.exe" no arquivo de registro acima para "powershell_ise.exe". Se você estiver executando o PowerShell normal, não haverá outra diferença além do diretório em que eles são iniciados. O comando Menu Iniciar é iniciado no diretório do usuário, enquanto o menu de contexto é iniciado no diretório local.
geo
@ ProfK, é possível que seja o diretório inicial que está fazendo a diferença? Se você tem algo no diretório do usuário relacionado ao 'git', talvez seja essa a diferença. Todo o objetivo do menu de contexto é abrir o PS no diretório LOCAL, mas se o comando 'git' for executado de maneira diferente com base no diretório em que você está, esse pode ser o problema. A diferença de diretório e a diferença entre PS e PS ISE são as únicas coisas em que consigo pensar.
geo
@geo Obrigado por todos os comentários, mas achei que clicar duas vezes nos arquivos html no Explorer os estava abrindo no Notepad ++. Defino meu padrão "Abrir com" como Chrome, mas também instalei o Posh-Git ao mesmo tempo e agora minha ajuda do Git é aberta no Chrome, não no PS. O lado triste é que eu não sei o que mudou as coisas fixas.
ProfK 11/03/2015
1
Roteiro PS para adicionar elevado PS alerta (remover a linha HasLUAShield para não elevado) é @ powershellmagazine.com/2013/06/25/...
James Manning
33

Você pode baixar o arquivo inf aqui - Apresentando o prompt do PowerShell aqui

Gulzar Nazim
fonte
2
Você pode fornecer um resumo (por exemplo, a podridão do link é sempre um problema)?
Peter Mortensen
14

No Windows 10, o prompt de comando e o prompt do PowerShell podem ser encontrados na barra de menus, para não administradores e administradores. Essas opções terão sua pasta definida na pasta atualmente selecionada no explorer.

Para a versão sueca, pelo menos, o PowerShell é aberto com Alt F+I. Para um administrador PowerShell é Alt F+S+P.

Menu do Windows Powershell

Se esses não forem os caracteres corretos, pressione e mantenha pressionada a Alttecla para ver os caracteres corretos. haverá um caractere sobrepondo o item de menu para cada etapa.

Padrão
fonte
2
É [Alt] [F + S + A] para powershell administrador no meu Windows 10 (versão em Inglês)
Rosdi Kasim
6

Eu queria que esse menu de contexto funcionasse apenas ao clicar com o botão direito do mouse e segurar o 'SHIFT', que é como o menu de contexto 'Abrir janela de comando aqui' funciona.

No entanto, nenhuma das soluções fornecidas fez isso, então eu tive que rolar meu próprio .regarquivo - copie o abaixo, salve-o como power-shell-here-on-shift.rege clique duas vezes nele.

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

abra a fonte aqui enquanto mantém pressionada a tecla Shift e pressiona o botão direito

Daniel Sokolowski
fonte
5

Experimente o PowerShell PowerToy ... Ele adiciona um item de menu de contexto para o Open PowerShell Aqui .

Ou você pode criar um atalho que abre o PowerShell com a pasta Iniciar em sendo sua pasta Projetos.

Steven Murawski
fonte
3

É ainda mais fácil no Windows 8.1 e no Server 2012 R2.

Faça isso uma vez: Clique com o botão direito do mouse na barra de tarefas, escolha Propriedades. Na guia Navegação, ative [✓] Substituir prompt de comando pelo Windows PowerShell no menu quando clico com o botão direito do mouse no canto inferior esquerdo ou pressione a tecla Windows + X .

Então sempre que você quer um PowerShell rápida, hit Win+X, I. (Ou Win+X, Apara um prompt do Admin PowerShell)

Warren Rumak
fonte
4
Bom atalho, no entanto, isso não inicia o PowerShell na pasta atual.
2131414
3

A seguir, é apresentado um resumo conciso (e atualizado) das soluções anteriores. Aqui está o que fazer:

Adicione essas strings e suas respectivas chaves pai:

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

nesses locais

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

É isso aí. Adicione as strings "Extended" para os comandos apenas para ficarem visíveis se você pressionar a tecla "Shift", todo o resto é supérfluo.

ppw0
fonte
3

Há uma extensão do Windows Explorer feita pelo cara que cria ferramentas para o SVN que abrirá pelo menos uma janela de prompt de comando.

Ainda não tentei, então não sei se o PowerShell será útil, mas queria compartilhar o amor com meus irmãos do Stack Overflow:

http://tools.tortoisesvn.net/StExBar

Josh Kodroff
fonte
2

Outra opção são os excelentes Elevation PowerToys de Michael Murgolo na TechNet em http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx .

Eles incluem o prompt do PowerShell aqui e o prompt do PowerShell aqui como administrador.

Mark Larson
fonte
Embora esse link possa responder à pergunta, é melhor incluir aqui as partes essenciais da resposta e fornecer o link para referência. As respostas somente para links podem se tornar inválidas se a página vinculada for alterada.
Lundin
Esse é um ponto válido a considerar ao postar um link; no entanto, o artigo vinculado contém o download oficial para os Elevation PowerToys, que é a parte essencial da resposta.
Mark Larson
2

Ao adicionar as chaves do registro abaixo, no Windows 10, consegui obter a opção Open PowerShell Here nos meus SHIFT + RClickmenus de contexto. Apenas copie-os em um arquivo em branco do bloco de notas, salve-o como .regarquivo e execute-o para adicionar a chave e ela deve funcionar a partir daí. Algumas dessas outras respostas dizem para adicionar a chave ao HKCR \ Directory \ shell, mas descobri que, para mim, funcionava apenas com as chaves do 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'"
Rhys
fonte
1
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."
}

Você pode baixar o script detalhado de como iniciar o PowerShell no Windows Explorer

bronzeado
fonte
1

Uma alternativa bastante simples é chamar o PowerShell por meio de um atalho. Há uma propriedade de atalho denominada "Iniciar" que diz qual diretório (pasta) usar quando o atalho é chamado.

Se a caixa Iniciar em estiver em branco, significa usar o diretório atual.

Quando você cria um atalho pela primeira vez para o PowerShell da maneira usual, a caixa Iniciar em especifica o diretório inicial. Se você apagar a caixa de início, agora você tem um atalho para o PowerShell que abre o PS no diretório atual, qualquer que seja.

Se você agora copiar esse atalho para o diretório de destino e usar o explorer para invocá-lo, iniciará um PS apontado para o diretório de destino.

Já existe uma resposta aceita para essa pergunta, mas ofereço isso de outra maneira.

Walter Mitty
fonte
1

Para usuários da chave automática, aqui está um trecho que estou usando

Abre a janela do PowerShell, ao pressionar Ctrl-Alt-T . (Testado com Win10)

Se a sua "janela ativa" for uma janela do Windows Explorer, o PowerShell será aberto na pasta atual . Caso contrário, basta abrir o PowerShell em alguma pasta padrão .

Uso: 1) Instale o AutoHotkey e copie e cole no myscript.ahk 2) Substitua <DefaultPath>pelo caminho de sua escolha. 3) Execute o 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
np8
fonte
1

Estou surpreso que ninguém tenha dado essa resposta, é a mais simples. (Deve ser o ano.)

Basta Shift + clique direito no Explorer. Em seguida, você pode "Abrir janela do PowerShell aqui".

Pode ser definido como Prompt de Comando por padrão. Nesse caso, você pode alterar isso nas Configurações do Windows 10: vá para Personalização -> Barra de tarefas e ative "Substituir prompt de comando pelo Windows PowerShell no menu ao clicar com o botão direito do mouse no botão Iniciar ou pressionar a tecla Windows + X".

Andrew
fonte
1

O Windows 10 tornou muito mais fácil. Você também pode:

  • [SHIFT] + [Clique com o botão direito do mouse] em uma pasta e você obtém um item de menu Open PowerShell window here.

Ou você pode:

  • File-> Open Windows PowerShell.

E para um bônus ...

Se você clicar com o botão direito do mouse em File-> Open Windows PowerShell, poderá Add to Quick Access Toolbar:

insira a descrição da imagem aqui

O que coloca um ícone útil aqui:

insira a descrição da imagem aqui

E agora você pode simplesmente clicar nesse ícone. :)

Craigo
fonte