Respostas:
Você precisa personalizar a função de prompt no seu perfil do PowerShell ( %userprofile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
); pode estar em branco ou até não existir se você nunca o modificou antes.
Abra seu perfil (por exemplo, abra o arquivo mencionado anteriormente ou enquanto estiver no PowerShell Notepad $profile
)
Adicione o seguinte ao seu perfil:
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Salve o perfil
Reinicie o PowerShell
Opcional . Se você receber uma mensagem informando que não tem permissão para executar scripts, copie / cole esta linha no PowerShell:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
e reinicie.
As políticas de execução do Windows PowerShell permitem determinar as condições sob as quais o Windows PowerShell carrega arquivos de configuração e executa scripts.
Você pode definir uma política de execução para o computador local, para o usuário atual ou para uma sessão específica. Você também pode usar uma configuração de Diretiva de Grupo para definir a diretiva de execução para computadores e usuários.
Fonte: Documentação da Microsoft
GetCurrentDirectory
. Lembre-se de que o PowerShell nem sempre significa o sistema de arquivos. Usando o snap-in do registro, eu poderia usar cd hkcu:
e agora o prompt seria totalmente desativado.
$PWD
vez de ligar Get-Location
. Por exemplofunction prompt { (Split-Path -Leaf $pwd) + '> ' }
prompt
no seu arquivo de perfil. Só precisa estar no escopo da sessão global. O padrão parece equivalente a function prompt {"PS " + (Get-Location) + ">"}
, enquanto function prompt {""}
dá o mesmo que function prompt {"PS>"}
. Use function prompt {" `b"}
para obter um prompt vazio (pelo menos visualmente ...).
Como uma observação adicional, eu não poderia executar o comando @ Synetech até criar o perfil $.
Digite $profile
e pressione enter. Isso exibirá o caminho do perfil em que o PowerShell depende, mesmo que não exista (não existia para mim). Meu caminho foi diferente do que o @Synetech postou acima.
>$profile
C:\Users\[username]\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Eu tive que criar a pasta WindowsPowerShell e o arquivo Microsoft.PowerShell_profile.ps1.
Nota:
Se você estiver usando o posh-git (que é instalado ao usar a área de trabalho do GitHub), o script do @ Synetech substituirá o prompt do posh-git. Scripts de prompt adicionais para posh-git aqui .
%userprofile%
expande paraC:\Users\[username]
$Env:userprofile
é equivalente aecho %userprofile%
Altere o prompt para mostrar a pasta atual sem o caminho completo e maior que o símbolo no final:
Uma maneira poderia ser:
Function Prompt { "$( ( get-item $pwd ).Name )>" }
Ou:
Function Prompt { "$( Split-Path -leaf -path (Get-Location) )>" }
Ou:
Function Prompt { "$( ( Get-Location | Get-Item ).Name )>" }
\\myserver\my\path
.
Achei isso muito fácil - combinando a resposta da @ Synetech e as informações encontradas nos perfis do PowerShell . Porque eu sou um novato no PS. Minhas etapas (para vscode):
colar em
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser (no prompt do PS, na resposta SuperUse)
recarregar vscode
Portanto, na maioria das vezes, a resposta da @ Synetech (votada) com um pouco para começar com facilidade - especialmente a etapa 2 torna isso muito fácil.
A linha única abaixo funciona bem para mim
(Get-Location | Get-Item) .Name
[System.IO.Directory]::GetCurrentDirectory()
não representa a localização atual do PowerShell, mas o diretório de trabalho do processo, que nem sempre é o mesmo. Substitua porGet-Location