例如,如果我在profile.ps1中设置了别名
$ws='C:\Users\Jack\folder0\folder1\folder2'
我cd到工作区位置cd $ws
如下所示
PS C:\Users\Jack\folder0\folder1\folder2\>
现在,我想知道是否有办法让它显示如下或类似
PS $ws>
这是我第一次在StackOverflow上提问。如果有什么不合适的,请给我一些建议。
答案 0 :(得分:2)
您可以修改提示功能以执行任何操作。如果您只想检查单个变量,可以执行以下操作:
$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>
如果需要支持多个变量,可以将路径存储在哈希表中并检查该路径,或使用Get-Variable
搜索包含有效路径的变量。请务必排除始终是您当前位置的前$PWD
。