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 .)
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.
>Tags und Links command-line windows file-io powershell powershell-v2.0