Definindo $ HOME no PowerShell

27

Como faço para alterar meu diretório pessoal padrão para "C: \ Users \ khornsby" para cada vez que eu abro o powershell?

Estou executando o Windows 7. Veja abaixo informações sobre o estado do meu ambiente.

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS P:\> cd ~
PS P:\> echo $HOME
P:\
PS P:\> HOME="C:\Users\khornsby"
The term 'HOME=C:\Users\khornsby' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.
At line:1 char:25
+ HOME="C:\Users\khornsby" 

PS P:\> Set-Variable HOME "C:\Users\khornsby"
Set-Variable : Cannot overwrite variable HOME because it is read-only or
constant.
At line:1 char:13
+ Set-Variable 

PS P:\> dir env:home*

Name                           Value
----                           -----
HOMEPATH                       \
HOMEDRIVE                      P:
HOMESHARE                      \fileserv\khornsby$


PS P:\>
    
por kzh 11.12.2009 / 22:02

5 respostas

27

A variável é somente leitura por padrão, mas pode ser removida com a opção -Force para Remove-Variable. Para tornar sua alteração persistente nas sessões, você pode criar um arquivo de perfil muito parecido com o .bashrc (para o bash no Linux), exceto o Powershell.

No seu diretório Documentos (normalmente C:\Users\YOUR_USERNAME_HERE\documents ) para sua conta de usuário, crie uma pasta WindowsPowerShell (nomeada exatamente assim) se ainda não existir uma. Dentro da pasta, crie um arquivo de texto chamado profile.ps1 ( certifique-se de que não é profile.ps1.txt ).

Dentro do arquivo, coloque qualquer coisa que você queira executar quando abrir o Powershell.

exemplo:

Write-Host "Hi John, welcome back!"
Remove-Variable -Force HOME
Set-Variable HOME "C:\Users\khornsby"

resultado:

    
por 11.12.2009 / 22:33
9

Para abordar a preocupação da @Weeble sobre o atalho ~ :

$HOMEDRIVE = "C:\"
$HOMEPATH = "Users\" + $env:username

# Set and force overwrite of the $HOME variable
Set-Variable HOME "$HOMEDRIVE$HOMEPATH" -Force

# Set the "~" shortcut value for the FileSystem provider
(get-psprovider 'FileSystem').Home = $HOMEDRIVE + $HOMEPATH

Veja aqui para a distinção entre ~ e $ HOME

    
por 03.01.2014 / 10:58
5

Ainda mais fácil ... abra as configurações avançadas do sistema ...

 C:\> systempropertiesadvanced

Adicione uma nova variável de sistema chamada HOME ao caminho do seu perfil

Reinicie o explorador ou efetue logout e volte em ...

PS C:\> $Env:home 
--- 
    
por 11.02.2013 / 11:07
2

Você pode usar help about_profiles para ver mais detalhes sobre isso. Não esqueça de assinar seu script.

    
por 15.04.2011 / 13:05
2

Para mudar de dentro do Windows, tente o seguinte:

  • Ative o PowerShell na barra de tarefas.

  • Clique com o botão direito do mouse no ícone do PowerShell na barra de tarefas.

  • Clique com o botão direito do mouse em "Windows PowerShell" e selecione "Propriedades".

  • Na janela "Propriedades", vá para a guia "Atalho" e mude o campo "Start in:" para o diretório inicial desejado. (Exemplo: C:\Users\username\Desktop ).

  • Clique em "OK".

  • Inicie o PowerShell na barra de tarefas.

por 01.05.2015 / 14:45