Führen Sie das PowerShell-Skript in einem anderen Kontext aus

0

Mein Powershell-Skript enthält den Befehl 'set-location' (cd). Nach dem Ausführen des Skripts wird mein aktuelles Verzeichnis geändert, aber ich möchte es nicht so.

test.ps1 :

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

Diese 'neue Zeile', 'eof' sind nur Markierungen.

PowerShell-Konsole:

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

Ich brauche meine PowerShell-Konsole d: \ projekte \ abc anstatt bei zu sein d: \ temp nach dem Ausführen des Skripts Jede schnelle Lösung?

Ich kann nicht einfach laufen d: \ temp \ meinProgramm weil myProgram nur in diesem Verzeichnis d: \ temp arbeitet. Außerdem kann ich "cd d: \ projects \ abc" nach dem Ausführen von myProgram nicht in test.ps1 eingeben, da myProgram ein Webserver ist, den ich beenden muss, wenn ich Strg + C verwenden möchte.

datdinhquoc
quelle
1
pushd d:\temp; myProgram; popd
PetSerAl

Antworten:

1

Lösung von PetSerAl im Kommentar unter Frage:

pushd d:\temp
myProgram
popd

Ich habe auch eine andere Lösung gefunden

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