如果cmdlet更改当前目录,如何将其还原?

Bor*_*ard 3 powershell

Azure cmdlet之一,即New-AzureServiceProject在完成时更改当前目录(可能是错误?).

为了让我的脚本中的其他行能够工作,我需要回滚这个变化,最好的方法是什么?如果我没有错,调用"cd"会影响当前的工作目录,如果我的scipt是​​从其他目录调用的.所以也许我应该Push-Location/ Pop-Location以某种方式使用?或者有没有办法阻止第三方cmdlet更改当前位置?

Kei*_*ill 5

处理此问题的常用方法是Push-Location在调用更改dir然后再调用的cmdlet之前Pop-Location.AFAIK没有办法阻止cmdlet更改目录,而不是暂时重新定义cd或使用代理函数覆盖Set-Location.然后,cmdlet可能正在使用.NET方法来更改目录,因此即使代理功能也可能不是万无一失的.