我的 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