如何静默调用powershell Set-Location命令?

时间:2011-10-02 11:35:16

标签: powershell

我想cd到某个目录,而没有powershell显示该目录的路径。无论我尝试什么 - 没有任何作用:

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) { '>>' }) + '> '

1 个答案:

答案 0 :(得分:5)

您可能使用PowerShell社区扩展。在cd中,Set-LocationEx被定义为PS Home:\> Set-Location .. PS Home:\> Set-LocationEx .. Home:\ 的别名,表现出此行为:

Set-Location

使用cd代替cd,或者在您的个人资料中加载PSCX后,不要加载PSCX或将{{1}}重新定义为其常用别名。

(这些是我偶尔加载PSCX的原因,如果我真的需要一个命令;重新定义核心命令或语义略有不同的别名是邪恶的,永远不应该这样做。)