Мой скрипт powershell содержит команду set-location (cd). После запуска скрипта моя текущая директория изменилась, но я не хочу этого так.

test.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:\projects\abc, а не в d:\temp после запуска скрипта. Любое быстрое решение?

Я не могу просто запустить d:\temp\myProgram, потому что myProgram работает только в этом каталоге d:\temp. А также, я не могу поставить «cd d:\projects\abc» после выполнения myProgram в test.ps1, так как myProgram - это веб-сервер, который мне нужно завершить, когда я хочу использовать Ctrl+C.

1 ответ1

1

Решение от PetSerAl в комментарии под вопросом:

pushd d:\temp
myProgram
popd

Я тоже нашел другое решение

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .