其中一个Azure cmdlet,即New-AzureServiceProject
,会在完成后更改当前目录(可能是错误?)。
为了让我的脚本中的其他行工作,我需要回滚这个更改,最好的方法是什么?如果我没错,调用“cd”会影响当前的工作目录,如果我的scipt是从其他目录调用的。那么也许我应该以某种方式使用Push-Location
/ Pop-Location
?或者有没有办法阻止第三方cmdlet更改当前位置?
答案 0 :(得分:5)
处理此问题的常用方法是在调用更改dir的cmdlet之后Push-Location
,然后再调用Pop-Location
。 AFAIK没有办法阻止cmdlet更改目录,而不是暂时重新定义cd或使用代理函数覆盖Set-Location。然后,cmdlet可能正在使用.NET方法来更改目录,因此即使代理功能也可能不是万无一失。