J'aimerais que le répertoire de travail actuel soit affiché sur la ligne de commande powershell, comme ce serait le cas dans une invite CMD (par exemple). Comment faire?
J'aimerais que le répertoire de travail actuel soit affiché sur la ligne de commande powershell, comme ce serait le cas dans une invite CMD (par exemple). Comment faire?
Réponses:
Vérifiez ceci: http://mshforfun.blogspot.com/2006/05/perfect-prompt-for-windows-powershell.html
Fondamentalement, vous pouvez créer un fichier «profil» appelé Microsoft.PowerShell_profile.ps1 qui s'exécutera à chaque démarrage de PowerShell.
Selon la personne pour laquelle vous souhaitez l'exécuter, il existe plusieurs dossiers dans lesquels vous pouvez placer ce fichier (expliqué dans le lien ci-dessus). Si c'est juste pour vous, vous pouvez créer un dossier appelé WindowsPowerShell dans votre dossier Mes documents et le mettre là.
Si vous mettez cette fonction dans ce fichier:
function prompt
{
"PS " + $(get-location) + "> "
}
Cela fera ressembler votre invite à ceci:
PS C:\directory\path\here>
Il y a beaucoup d'autres choses que vous pouvez y mettre, mais ce sont les bases.
REMARQUE: avant de pouvoir utiliser le script de profil, vous devez exécuter "set-executionpolicy remotesigned" à partir du PowerShell - cela vous permettra d'exécuter des scripts non signés écrits localement sur l'ordinateur et des scripts signés par d'autres.
$profile.CurrentUserCurrentHost
et $profile.CurrentUserCurrentHost
pour voir quels scripts de profil (utilisateur) sont valides. Différents hôtes (par exemple VS vs ISE) ont une valeur différente pour$profile.CurrentUserCurrentHost
Essayez ce qui suit:
$CurrentDir = $(get-location).Path;
De nos jours, cela fonctionne bien:
echo "$PWD"
qui fonctionne différemment de
echo $PWD
N'oubliez pas les guillemets :) Exemple de sortie ci-dessous.
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