2017-01-06 2 views
0

Aufforderung aufrufen habe ich ein Skript Powershell, die einen einzigen Befehl enthält:Aktuelles Verzeichnis ändert sich, wenn ich Powershell-Skript Command

pwd 

Wenn ich es von einem (Windows 10) Befehlszeilenfenster ausführen, bekomme ich die folgende :

d:\Hudson_Test\workspace\CadGraphics>echo %cd% 
d:\Hudson_Test\workspace\CadGraphics 

d:\Hudson_Test\workspace\CadGraphics>powershell -file ShowLocation.ps1 

Path 
---- 
D:\hudson_test\workspace 

Wie Sie das aktuelle Verzeichnis ein Verzeichnis sehen können, bewegt sich nach oben (von d: \ hudson_test \ Arbeitsplatz \ CadGraphics zu D: \ hudson_test \ Arbeitsplatz), wenn im Skript Powershell.

Ich testete dies auf einer anderen (Win10) Maschine, und auf dieser Maschine waren die beiden Pfade die gleichen.

Was passiert hier und wie kann ich verhindern, dass es passiert?

+7

Sehen Sie, ein Profil haben? 'Notizblock $ Profil' zu überprüfen. Klingt so, als ob du ein Profil hast, das den Standort festlegt. Sie können Powershell starten, ohne Ihr Profil mit 'Powershell-NoProfile -File ShowLocation.ps1' zu starten. –

+0

Ich kann das Problem nicht sogar unter Windows 10 reproduzieren. – TravisEz13

+0

Ja, es war das Profil, das das Problem verursacht hat. Das Starten von Powershell mit dem "NoProfile" -Flag hat mein Problem behoben. – PortMan

Antwort

1

Es sollte nicht, es sei denn das Profil lädt es jedes Mal. Bitte versuchen Sie es mit

Power -noprofile -File FileName.ps1

Zweitens möchte ich Sie, dass Sie in einer Variablen zu speichern und das Ergebnis aus write-host

+0

Yup. Es wurde ein Profil geladen, das sein Verzeichnis setzte. – PortMan

+0

@PortMan: Großartig: glücklich zu helfen –

Verwandte Themen