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?
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.
Créez un profil PowerShell :
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 .
Dans votre dossier Documents
, recherchez le répertoire nommé WindowsPowerShell
. Si cela n'existe pas, c'est bon, créez-le.
profile.ps1
dans le dossier WindowsPowerShell
.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
Ouvrez une nouvelle fenêtre PowerShell ... les modifications auraient dû prendre effet.
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.
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.
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é.
Voici un moyen plus simple de définir le répertoire par défaut:
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).
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
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