2016-09-14 76 views
0

我正在使用提示功能來使用自定義提示。我知道了,所以我得到日期,當前工作目錄和對象的數量。我在$scripts$modules位置,我想要當前工作目錄截斷。在配置文件提示中使用條件拆分路徑

$scripts = "$(Split-Path $profile)\Scripts" 
$modules = "$(Split-Path $profile)\Modules" 

其中負責提示功能的部分是這樣的:

Write-Host ($PWD) -NoNewline -ForegroundColor Gray 
+0

*我想當前的工作目錄截斷*截斷到什麼?你當前的輸出是什麼,你想輸出的結果是什麼樣的? –

+0

我想要截斷刪除前綴腳本或模塊的用戶\用戶名\ Documents \ WindowsPowerShell部分 – MaxRussell

+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 
+0

賓果。優秀。 – MaxRussell

相關問題