Eu gostaria que o diretório de trabalho atual fosse exibido na linha de comando do PowerShell, como seria feito em um prompt (por exemplo) do CMD. Como posso fazer isso?
Eu gostaria que o diretório de trabalho atual fosse exibido na linha de comando do PowerShell, como seria feito em um prompt (por exemplo) do CMD. Como posso fazer isso?
Respostas:
Confira: http://mshforfun.blogspot.com/2006/05/perfect-prompt-for-windows-powershell.html
Basicamente, você pode criar um arquivo de 'perfil' chamado Microsoft.PowerShell_profile.ps1, que será executado toda vez que você iniciar o PowerShell.
Dependendo de quem você deseja executar, há várias pastas nas quais você pode colocar esse arquivo (explicado no link acima). Se for apenas para você, você pode criar uma pasta chamada WindowsPowerShell na sua pasta Meus Documentos e colocá-la lá.
Se você colocar essa função nesse arquivo:
function prompt
{
"PS " + $(get-location) + "> "
}
Isso fará com que seu prompt fique assim:
PS C:\directory\path\here>
Você pode colocar um monte de outras coisas, mas esse é o básico.
NOTA: antes de poder usar o script de perfil, será necessário executar "set-Executionpolicy remotesigned" no PowerShell - isso permitirá que você execute scripts não assinados escritos localmente no computador e scripts assinados de outras pessoas.
$profile.CurrentUserCurrentHost
e $profile.CurrentUserCurrentHost
para ver quais scripts de perfil (usuário) são válidos. Hosts diferentes (por exemplo, VS vs. ISE) têm um valor diferente para$profile.CurrentUserCurrentHost
Tente o seguinte:
$CurrentDir = $(get-location).Path;
Hoje em dia, isso funciona bem:
echo "$PWD"
que funciona de forma diferente do que
echo $PWD
Só não esqueça as aspas :) Exemplo de saída abaixo.
PS C:\Users\user name> echo $PWD
Path
----
C:\Users\user name
PS C:\Users\user name> echo "$PWD"
C:\Users\user name
PS C:\Users\user name>
(Get-Item -Path ".\").FullName