web-dev-qa-db-fra.com

Comment définir le répertoire par défaut de PowerShell?

Est-il possible de changer l'emplacement par défaut de Powershell?

Comment définir le répertoire de travail par défaut de Powershell?

83
Youbloodywombat

Vous pouvez spécifier le répertoire à ouvrir lors du démarrage de PowerShell:

powershell.exe -NoExit -command "& {Set-Location $env:systemroot}" 

utilisez-le simplement dans votre raccourci.

Ou utilisez un profile pour définir un répertoire de départ.

46
Peter Hahndorf

Créez un profil PowerShell :

  1. Exécutez Powershell en tant qu'administrateur et exécutez la commande suivante:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

    Cela permettra à PowerShell d'exécuter des scripts locaux et des scripts signés téléchargés depuis Internet. En savoir plus sur cette commande dans le documentation .

  2. Dans votre dossier Documents, recherchez le répertoire nommé WindowsPowerShell. Si cela n'existe pas, c'est bon, créez-le.

  3. Créez un nouveau fichier nommé profile.ps1 dans le dossier WindowsPowerShell.
  4. Ouvrez profile.ps1 et ajoutez la commande suivante pour définir votre répertoire de travail par défaut:

    Set-Location C:\my\default\working\directory

  5. Ouvrez une nouvelle fenêtre PowerShell ... les modifications auraient dû prendre effet.

146
Jeremy Danyow

J'avais essayé les réponses ci-dessus dans Server 2016 sans succès.

Mais j'ai trouvé cette approche (devrait être la même pour Windows 10) qui fonctionne pour moi.

  1. Lancer une Powershell
  2. Dans la barre des tâches, cliquez avec le bouton droit de la souris et épinglez pour conserver un lien.
  3. Cliquez à nouveau avec le bouton droit de la souris sur l’icône de la barre des tâches, puis cliquez avec le bouton droit de la souris sur Windows PowerShell et choisissez Propriétés.
  4. Entrez votre répertoire préféré dans le champ Commencez par: et appuyez sur OK.
  5. Démarrer à partir de l'icône de la barre des tâches

Terminé!

Dans la même boîte de dialogue Propriétés, vous pouvez également modifier de nombreux autres paramètres, tels que les polices, les couleurs, les tailles, et sur l'onglet Raccourci via le bouton Avancé, vous pouvez choisir si Powershell doit être exécuter avec des privilèges d'administrateur.

27
neongrau

Ajouter Set-Location dans votre profil modifiera inconditionnellement le répertoire de travail actuel, ce qui pourrait avoir des conséquences indésirables sur le répertoire de travail des scripts que vous exécutez via "run with powershell".

Une autre solution consiste à changer le répertoire de travail des fichiers .lnk en PowerShell qui se trouve généralement dans %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell. Faites un clic droit sur un lien et modifiez le répertoire de travail de %HOMEDRIVE%%HOMEPATH% en le répertoire souhaité.

4
Leonard Brünings

Voici un moyen plus simple de définir le répertoire par défaut:

  1. cliquez avec le bouton droit de la souris sur l’icône Windows Powershell et épinglez-la sur Démarrer
  2. cliquez avec le bouton droit de la souris sur l'icône Windows Powershell dans Démarrer, puis à nouveau avec le bouton droit de la souris sur Windows Powershell et sélectionnez Propriétés (pas Exécuter en tant qu'administrateur, ni Windows Powershell ISE).

enter image description here

  1. Dans l'onglet Raccourci -> champ 'Démarrer dans', sélectionnez l'emplacement où vous souhaitez que Powershell démarre

enter image description here

3
Antonio

Au lieu de changer inconditionnellement le répertoire de travail comme indiqué ci-dessus, vous pouvez écrire un simple function dans le profil PowerShell afin d'utiliser set-location pour modifier rapidement le répertoire de travail chaque fois que nécessaire.

Cochez réponse ci-dessus pour créer/modifier un profil PowerShell.

Ajoutez des fonctions à votre profil powershell:

function goto_this {set-location 'your\path\to\some\dir'}
function goto_that {set-location 'your\path to some\dir with space'}

Il suffit de changer le nom de la fonction et le répertoire pointé. L'utilisation de guillemets sur le chemin est obligatoire si elle contient des espaces. J'essaie de conserver le préfixe goto_ car il aide à mémoriser les noms des fonctions.

Vous pouvez commencer à taper goto_ puis appuyer sur la touche de tabulation pour faire défiler toutes les fonctions ajoutées (n'oubliez pas de démarrer une nouvelle fenêtre PowerShell après avoir ajouté/modifié des fonctions).

3
Sundhar

Je comprends que c'est vieux et que c'est un peu capricieux. Mais je pense qu'il est préférable que tout le monde ait toutes les connaissances possibles.

Avec cela, il semble y avoir une certaine confusion sur "Répertoire de travail" et "Emplacement" de PowerShell. Ce que la plupart des gens ici font et disent de faire, c'est de changer "l'emplacement" de PowerShell. Le "Répertoire de travail" est en réalité différent. Voici un lien qui l'explique.

Pour ceux qui ne veulent pas lire le lien: Ouvrez PowerShell et utilisez ce que d'autres ont dit de faire Set-Location "C:\some\directory" notez que votre "répertoire de travail" est toujours celui où votre PS a été ouvert. "~" ou "%SYSTEMROOT%\system32" selon que vous avez exécuté ou non en tant qu'administrateur. Pour vérifier le répertoire de travail, utilisez [Environment]::CurrentDirectory

note: dans l'article il dit de vérifier le "Répertoire de travail" en utilisant cette commande
\[Environment\]::CurrentDirectory. Vous ne savez pas si cela fonctionne avec les anciennes versions PS, mais avec PS 5+, vous devez utiliser [Environment]::CurrentDirectory

1
RangerGeof

En utilisant seulement la ligne de commande, si le fichier existe déjà, il y sera ajouté

$(if (-Not (Test-Path ~\Documents\WindowsPowerShell\)){ mkdir ~\Documents\WindowsPowerShell\}) ; echo "Set-Location c:\THELOCATIONYOUWANT" >> ~\Documents\WindowsPowerShell\profile.ps1
1
Luke Angel