在另一个上下文中执行 PowerShell 脚本

在另一个上下文中执行 PowerShell 脚本

我的 powershell 脚本包含一个“set-location”(cd)命令。运行脚本后,我的当前目录发生了变化,但我不想这样。

测试.ps1

cd d:\temp (new line)
myProgram (new line)
(eof)

那些‘新行’,‘eof’仅仅是标记。

PowerShell 控制台:

PS D:\projects\abc> .\test.ps1
This line is the output of myProgram
PS D:\temp> _

我需要我的 PowerShell 控制台保持d:\项目\abc而不是在d:\temp运行脚本后。有什么快速解决方案吗?

我不能就这样跑d:\temp\myProgram因为 myProgram 只在 d:\temp 目录中工作。而且,在 test.ps1 中执行 myProgram 后,我无法输入“cd d:\projects\abc”,因为 myProgram 是一个 Web 服务器,我需要使用 Ctrl+C 终止它。

答案1

PetSerAl 在问题评论中给出的解决方案:

pushd d:\temp
myProgram
popd

我也找到了另一个解决方案

PS D:\projects\abc> powershell .\test.ps1

相关内容