Estou usando o Powershell no Windows 7. Como configurar o Powershell para que ele exiba apenas o nome da pasta atual (em vez do caminho completo) no prompt do shell?
Por exemplo, em vez de C:\folder\directory\name>
, eu quero name>
.
fonte
Estou usando o Powershell no Windows 7. Como configurar o Powershell para que ele exiba apenas o nome da pasta atual (em vez do caminho completo) no prompt do shell?
Por exemplo, em vez de C:\folder\directory\name>
, eu quero name>
.
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
[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
GetCurrentDirectory
. Lembre-se de que o PowerShell nem sempre significa o sistema de arquivos. Usando o snap-in do registro, eu poderia usarcd hkcu:
e agora o prompt seria totalmente desativado.$PWD
vez de ligarGet-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 afunction prompt {"PS " + (Get-Location) + ">"}
, enquantofunction prompt {""}
dá o mesmo quefunction prompt {"PS>"}
. Usefunction 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.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 .
fonte
%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:
Ou:
Ou:
fonte
\\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
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.
fonte
A linha única abaixo funciona bem para mim
(Get-Location | Get-Item) .Name
fonte