Réponses:
Vous devez personnaliser la fonction d'invite dans votre profil PowerShell ( %userprofile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
); il peut être vierge ou même inexistant si vous ne l'avez jamais modifié auparavant.
Ouvrez votre profil (par exemple, ouvrez le fichier susmentionné ou dans PowerShell, Notepad $profile
)
Ajoutez ce qui suit à votre profil:
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Enregistrez le profil
Redémarrez PowerShell
Facultatif . Si vous obtenez un message indiquant que vous n'êtes pas autorisé à exécuter des scripts, vous devez copier / coller cette ligne dans PowerShell:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
et redémarrez.
Les stratégies d'exécution de Windows PowerShell vous permettent de déterminer les conditions dans lesquelles Windows PowerShell charge les fichiers de configuration et exécute les scripts.
Vous pouvez définir une stratégie d'exécution pour l'ordinateur local, pour l'utilisateur actuel ou pour une session particulière. Vous pouvez également utiliser un paramètre de stratégie de groupe pour définir la stratégie d'exécution pour les ordinateurs et les utilisateurs.
Source: documentation Microsoft
GetCurrentDirectory
. N'oubliez pas que PowerShell ne signifie pas toujours le système de fichiers. En utilisant le composant logiciel enfichable de registre, je pouvais utiliser cd hkcu:
et maintenant l'invite serait totalement désactivée.
$PWD
au lieu d'appeler Get-Location
. Par exemplefunction prompt { (Split-Path -Leaf $pwd) + '> ' }
prompt
dans votre fichier de profil. Il doit juste être dans la portée de la session globale. La valeur par défaut semble équivalente à function prompt {"PS " + (Get-Location) + ">"}
, tandis que function prompt {""}
la même valeur que function prompt {"PS>"}
. Utilisez function prompt {" `b"}
pour obtenir une invite vide (au moins visuellement ...).
En plus, je n'ai pas pu exécuter la commande de @ Synetech avant d'avoir créé le profil $.
Tapez $profile
et appuyez sur Entrée. Cela affichera le chemin de profil sur lequel PowerShell s'appuie, même s'il n'existe pas (ce n'était pas le cas pour moi). Mon chemin était différent de celui indiqué par @Synetech ci-dessus.
>$profile
C:\Users\[username]\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
J'ai dû créer à la fois le dossier WindowsPowerShell et le fichier Microsoft.PowerShell_profile.ps1.
Remarque:
Si vous utilisez posh-git (qui est installé lors de l'utilisation du bureau GitHub), le script de @ Synetech remplacera l'invite posh-git. Scripts d'invite supplémentaires pour posh-git ici .
%userprofile%
se développe àC:\Users\[username]
$Env:userprofile
équivaut àecho %userprofile%
Modifiez l'invite pour afficher le dossier actuel sans chemin complet et symbole supérieur à à la fin:
Une façon pourrait être:
Function Prompt { "$( ( get-item $pwd ).Name )>" }
Ou:
Function Prompt { "$( Split-Path -leaf -path (Get-Location) )>" }
Ou:
Function Prompt { "$( ( Get-Location | Get-Item ).Name )>" }
\\myserver\my\path
.
J'ai trouvé que c'était assez facile - combinant la réponse de @ Synetech et les informations trouvées dans les profils PowerShell . Parce que je suis un débutant sur PS. Mes étapes (pour vscode):
coller
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser (à votre invite PS, à partir de la réponse SuperUse)
recharger vscode
Donc, surtout la réponse de @ Synetech (votée) avec un peu pour commencer facilement - en particulier l'étape 2 rend cela très facile.
La ligne unique ci-dessous fonctionne bien pour moi
(Get-Location | Get-Item) .Name
[System.IO.Directory]::GetCurrentDirectory()
ne représente pas l'emplacement actuel de powershell, mais plutôt le répertoire de travail du processus, qui ne sont pas toujours les mêmes. Remplacer parGet-Location