web-dev-qa-db-fra.com

Définition de $ HOME dans PowerShell

Comment changer mon répertoire personnel par défaut en "C:\Users\khornsby" à chaque fois que j'ouvre PowerShell?

J'utilise Windows 7. Vous trouverez ci-dessous des informations sur l'état de mon environnement.

 Windows PowerShell 
 Copyright (C) 2009 Microsoft Corporation. Tous droits réservés. 
 
 PS P: \> cd ~
 PS P: \> echo $HOME
 P:\
 PS P: \> HOME="C:\Users\khornsby"
 Le terme 'HOME = C:\Users\khornsby' n'est pas reconnu en tant que nom d'une applet de commande, d'une fonction 
, D'un fichier de script ou d'un programme utilisable. Vérifiez l'orthographe du nom ou 
 Si un chemin a été inclus, vérifiez que le chemin est correct et réessayez. 
 À la ligne: 1 car: 25 
 + HOME = " C:\Utilisateurs\khornsby "
 
 PS P: \> Set-Variable HOME "C:\Users\khornsby"
 Variable de réglage: impossible d'écraser la variable HOME, car elle est en lecture seule ou constante 
. 
 À la ligne: 1 caractère: 13 
 + Variable de définition 
 
 PS P: \> dir env:home*
 
 Nom Valeur 
 ---- ----- 
 HOMEPATH\
 HOMEDRIVE P: 
 HOMESHARE \\ serveurs de fichiers\khornsby $ 
 
 
 PS P: \> 
29
kzh

La variable est en lecture seule par défaut, mais peut être supprimée avec le commutateur -Force sur Remove-Variable. Pour que votre modification soit persistante d'une session à l'autre, vous pouvez créer un fichier de profil qui ressemble beaucoup à un .bashrc (pour Bash sous Linux), à l'exception de Powershell.

Dans votre répertoire Documents (normalement C:\Users\YOUR_USERNAME_HERE\documents) pour votre compte d'utilisateur, créez un dossier WindowsPowerShell (nommé exactement de la même manière) s'il n'en existe pas déjà un. Dans le dossier, créez un fichier texte appelé profile.ps1 (, assurez-vous que ce n'est pas profile.ps1.txt ).

Dans le fichier, placez tout ce que vous voulez exécuter lorsque vous ouvrez Powershell.

exemple:

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

résultat:

alt text

27
John T

Pour répondre aux préoccupations de @Weeble concernant le raccourci ~:

$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

Voir ici pour la distinction entre ~ et $ HOME

9
ulty4life

Encore plus facilement ... ouvrez les paramètres système avancés ...

 C:\> systempropertiesadvanced

Ajouter une nouvelle variable système nommée HOME avec le chemin d'accès à votre profil

enter image description here

Redémarrez Explorer ou déconnectez-vous et reconnectez-vous ...

PS C:\> $Env:home 
--- 
5
Eddie B

Vous pouvez utiliser help about_profiles pour voir plus de détails à ce sujet. N'oubliez pas de signer votre script.

2

Pour changer depuis Windows, essayez ce qui suit:

  • Épinglez PowerShell à la barre des tâches.

  • Cliquez avec le bouton droit sur l'icône PowerShell dans la barre des tâches.

  • Cliquez avec le bouton droit sur 'Windows PowerShell' et sélectionnez 'Propriétés'.

  • Dans la fenêtre "Propriétés", accédez à l'onglet "Raccourci" et remplacez le champ "Démarrer dans:" par le répertoire de départ souhaité. (Exemple: C:\Users\username\Desktop).

  • Cliquez sur OK'.

  • Lancez PowerShell à partir de la barre des tâches.

    taskbar

    Properties window

2