Gostaria, por padrão, que o PowerShell fosse iniciado em vez de Command quando, digamos, executando um arquivo em lotes ou quando eu "Abrir janela de comando aqui", etc.
Alguma sugestão?
windows-7
powershell
batch-file
Ipsquiggle
fonte
fonte
Respostas:
Acabei de fazer um teste muito rápido e a seguinte entrada do Registro adicionará um item "PowerShell aqui" ao menu de contexto de todas as pastas no explorer:
Basta importá-lo para o registro. Estou usando
cmd.exe
para inicializar o PowerShell para evitar a necessidade de codificar o caminho.Em relação aos scripts cmd / arquivos em lote. Eu acho que não faz muito sentido executar scripts CMD no PowerShell por padrão. Mas também pode ser possível modificando a
HKCR\cmdfile\shell\open
chave do registrofonte
Você não vai muito longe com a execução de arquivos em lote CMD no PowerShell.
Você pode tentar alterar a
%COMSPEC%
variável para apontar para opowershell.exe
usosetx
, mas não acho que demore muito para perceber que essa é uma péssima idéia e alterá-la novamente.salve o arquivo como * .ps1 em vez de * .bat e ele usará o PowerShell
fonte
%COMSPEC%
para um shell não compatível com CMD, mas presumo que alterá-lo para o PowerShell resultaria em.cmd
/.bat
arquivos tentando executar no PowerShell, para que falhassem. Eu instalei muitos softwares que precisavam usar arquivos em lote, portanto, seria uma má idéia. Além disso, sou um pouco tendencioso, pois uso o CMD o tempo todo (na verdade, o TCC, que é um superconjunto expandido), para o gerenciamento diário de arquivos - só uso o PowerShell para coisas do sistema, embora tenha muito mais a aprender, pois é tão poderoso em comparação.%ComSpec%
para apontar para o PowerShell no meu sistema Win7. Os primeiros dois.cmd
arquivos que testei funcionam muito bem. Eles envolvemcmd
construções específicas (for
manipulação variávelif
), portanto o PS é aparentemente inteligente o suficiente para saber quando precisa chamarcmd.exe
.%ComSpec%
para o PowerShell quebra os comandos de controle de versão mercurial.