代码之家  ›  专栏  ›  技术社区  ›  Borek Bernard

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

  •  3
  • Borek Bernard  · 技术社区  · 13 年前

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

    为了让我的脚本中的更多行发挥作用,我需要回滚这一更改,最好的方法是什么?如果我没有错的话,如果我的scipt是从其他目录调用的,那么调用“cd”会影响当前的工作目录。所以也许我应该用 Push-Location / Pop-Location 以某种方式或者有没有办法防止第三方cmdlet更改当前位置?

    1 回复  |  直到 13 年前
        1
  •  5
  •   Keith Hill    13 年前

    通常的处理方法是 Push-Location 在调用更改目录的cmdlet之前,然后调用 Pop-Location 之后AFAIK没有办法阻止cmdlet更改目录,除非临时重新定义cd或用代理函数重写Set Location。再说一遍,cmdlet可能正在使用.NET方法更改目录,因此即使是代理函数也可能不是万无一失的。

    推荐文章