2017-12-21 9 views
1

Ich habe ein PowerShell-Skript, das eine Funktion aufruft. Ich versuche, alle diese zu erreichen, aber ich bin nicht sicher, wie:umleiten stderr zu stdout zu Konsole und zwei Dateien

  1. Schreib STDOUT undout.txt
  2. Schreib STDERR zu trösten zu trösten undout.txtunderr.txt
  3. stellen Sie sicher, alle STDOUT und STDERR-Ausgabe ist stil in der Reihenfolge, die es generiert

Dies ist, was ich h Ave bisher, die STDOUT und STDERR in eine Datei schreibt, aber es tut nicht den Rest von dem, was ich brauche.

function doIt() { 
    "hi" 
    $test["a"]["b"] 
    "bye" 
} 

doIt 2>&1 | Tee-Object out.txt 
+0

Was ist der Wert von $ test? – HiTech

+0

'$ test' existiert nicht. Ich habe es dort eingefügt, um einen Fehler zu erzwingen. – IMTheNachoMan

Antwort

2

So etwas wie dies funktionieren könnte:

function doIt() { 
    [CmdletBinding()] 
    Param() 
    "hi" 
    $test["a"]["b"] 
    "bye" 
} 

doIt -ErrorVariable e 2>&1 | Tee-Object out.txt 
$e > err.txt

Dies wird die Fehlerdatei in einem zweiten Schritt schreiben, though. Ich glaube nicht, dass Sie und zusammenführen können, um den Fehlerausgangsstrom zur gleichen Zeit nicht zusammenzuführen.

Verwandte Themen