2011-10-02 66 views
3

我想要cd到某個目錄,但沒有該目錄的路徑被powershell顯示。無論我嘗試什麼 - 沒有任何工作:如何靜默調用powershell Set-Location命令?

PS C:\dev\windows\nc> cd .\NC.Server.Host | Out-Null 
C:\dev\windows\nc\NC.Server.Host 
PS C:\dev\windows\nc\NC.Server.Host> cd .. > $null 
C:\dev\windows\nc 
PS C:\dev\windows\nc> cd .\NC.Server.Host 2> $null 
C:\dev\windows\nc\NC.Server.Host 
PS C:\dev\windows\nc\NC.Server.Host> $x=cd .. 
C:\dev\windows\nc 
PS C:\dev\windows\nc> 

正如你所看到的,總是顯示目標目錄路徑。這是避免它的一種方法嗎?謝謝。

編輯

這裏是我的提示功能:

PS Z:\dev\3rd_party> gc Function:prompt 
$(if (test-path variable:/PSDebugContext) { '[DBG]: ' } else { '' }) + 'PS ' + $(Get-Location) + $(if ($nestedpromptlevel -ge 1) { '>>' }) + '> ' 

回答

5

你可能使用PowerShell的社區擴展。在這些cd被定義爲一個別名Set-LocationEx表現出這種行爲:

PS Home:\> Set-Location .. 
PS Home:\> Set-LocationEx .. 
Home:\ 

要麼使用Set-Location代替cd,或者在您的配置文件加載PSCX後不加載PSCX或重新定義cd到其一貫的別名。

(這些都是我加載PSCX只是偶爾如果我真的需要從有一個命令的原因;重新定義核心命令或別名略有不同的語義是邪惡的,不應該做)

+0

我已經編輯我的帖子添加提示功能列表。 – mark

+0

我編輯了我的帖子以指出實際問題;-)。對不起,早些時候在黑暗中刺傷。 – Joey

+0

謝謝,就是這樣。 – mark