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

mar*_*ark 3 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>
Run Code Online (Sandbox Code Playgroud)

如您所见,始终显示目标目录路径.这是一种避免它的方法吗?谢谢.

编辑

这是我的提示功能:

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

Joe*_*oey 5

您可能使用PowerShell社区扩展.在那些cd被定义为Set-LocationEx表现出这种行为的别名:

PS Home:\> Set-Location ..
PS Home:\> Set-LocationEx ..
Home:\
Run Code Online (Sandbox Code Playgroud)

在您的配置文件中加载PSCX后,可以使用Set-Location替代cd或不加载PSCX或重新定义cd其常用别名.

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