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?
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?
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:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere]
@="&PowerShell here"
[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere\command]
@="cmd.exe /c start \"PS\" powershell.exe -NoExit -Command \"cd \\\"%1\\\"\""
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 registro
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 o powershell.exe
uso setx
, 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
%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 envolvem cmd
construções específicas ( for
manipulação variável if
), portanto o PS é aparentemente inteligente o suficiente para saber quando precisa chamar cmd.exe
.
%ComSpec%
para o PowerShell quebra os comandos de controle de versão mercurial.