相关疑难解决方法(0)

引发未捕获的异常时,如何还原PowerShell脚本中的目录更改?

在bash中,如果我想为单个命令更改当前目录do_thing,我将生成一个新的子shell,在其中更改目录,运行

(cd folderName; do_thing)
Run Code Online (Sandbox Code Playgroud)

问题的内容表明,在PowerShell中执行此操作的方法是使用Push-Location存储位置以及Pop-Location命令完成运行后的位置。这行得通,但并不理想:我必须记住Pop-Location在脚本的每个返回点处进行写入(例如,在每个异常之前,如果在按下某个位置时发生异常),则未捕获的异常将照原样保留当前目录。

有没有一种方法可以将当前目录重置为脚本开始时的状态,即使抛出未捕获的异常也是如此?

powershell

3
推荐指数
1
解决办法
340
查看次数

标签 统计

powershell ×1