Вы можете изменить функцию подсказки, чтобы сделать все, что вы хотите.Если вы хотите проверить только одну переменную, вы можете сделать это:
$ws = "c:\users\frode"
function prompt {
$CurrentLocation = $executionContext.SessionState.Path.CurrentLocation.Path
if($CurrentLocation -like "$ws*") {
$CurrentLocation = $CurrentLocation -replace [regex]::Escape($ws), '$ws'
}
"PS $($CurrentLocation)$('>' * ($nestedPromptLevel + 1)) ";
}
Вывод:
PS C:\Users> cd .\frode
PS $ws> cd .\Desktop
PS $ws\Desktop>
Если вам нужно поддерживать несколько переменных, вы можете сохранить пути вhashtable и проверьте это или используйте Get-Variable
для поиска переменных, содержащих допустимый путь.Не забудьте исключить ex $PWD
, который всегда является вашим текущим местоположением.