Powershell 2.0-Befehlszeilenumleitung

9

Ich suche nach einer Erklärung der folgenden Diskrepanz:

Gegeben das folgende Powershell-Skript foo.ps1 :

%Vor%

Ausführen mit

C:\>powershell .\foo.ps1 > out.txt 2>&1

Produziert:

%Vor%

Aber läuft mit:

C:\>powershell .\foo.ps1 2>&1 > out.txt

Erzeugt (richtig):

%Vor%

Ich habe mich fast selbst dazu gebracht zu denken, dass die Reihenfolge der Umleitung in Windows wichtig ist, aber alle Beispiele in der Die TechNet-Verwendungsseite für die Befehlsumleitung zeigt die Dateiumleitung vor der stderr-Umleitung an.

Kann mir bitte jemand das erklären?

Als Referenz wird dies auf Server 2003 x64 SP2 mit:

durchgeführt %Vor%

und die Verwendung von write-output erzeugt das gleiche Ergebnis.

(Diese Frage bezieht sich auf meine Arbeit bei der Lösung von .)

    
Christopher Neylan 30.01.2012, 14:23
quelle

1 Antwort

1

Das sieht wie ein Fehler in PowerShell 2.0 aus. Ich habe versucht, mit der PowerShell 3.0 Vorschau zu reproduzieren und es funktioniert jetzt wie erwartet.

>     
Eric Nicholson 30.01.2012, 18:58
quelle