我正在使用提示功能来使用自定义提示。我已经得到它所以我得到日期,当前工作目录和对象数量。我在$scripts
或$modules
位置的位置,我希望截断当前的工作目录。
$scripts = "$(Split-Path $profile)\Scripts"
$modules = "$(Split-Path $profile)\Modules"
其中负责提示函数的部分是:
Write-Host ($PWD) -NoNewline -ForegroundColor Gray
答案 0 :(得分:1)
也许你正在寻找这样的东西:
$basedir = Split-Path $profile
$pattern = [regex]::Escape($basedir) + '\\(Scripts|Modules)(\\.*|$)'
$path = if ($PWD.Path -match $pattern) {
$PWD.Path.Replace($basedir, '~')
} else {
$PWD.Path
}
Write-Host $path -NoNewline -ForegroundColor Gray
或者像这样:
$pattern = [regex]::Escape((Split-Path $profile)) + '\\((Scripts|Modules)(\\.*|$))'
Write-Host ($PWD.Path -replace $pattern, '~\$1') -NoNewline -ForegroundColor Gray