2017-12-21 17 views
1

함수를 호출하는 PowerShell 스크립트가 있습니다. 나는이 모두를 달성하기 위해 노력하지만 어떻게 확실하지 오전 오전 :콘솔과 두 개의 파일로 stderr을 표준 출력으로 리디렉션

  1. 쓰기 STDOUT가 out.txterr.txt
  2. 확실히 모든 STDOUT을 콘솔로 out.txt
  3. 쓰기 STDERR 콘솔에 STDERR 출력은 생성 된 순서대로 출력됩니다.

이것은 내가 원하는 것입니다. 지금까지는 STDOUT과 STDERR을 파일에 쓰지만 필요한 나머지는 수행하지 않습니다. 이 같은

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

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

$ test의 값은 무엇입니까? – HiTech

+0

'$ test'는 존재하지 않습니다. 나는 그것을 강제로 오류를 넣어. – IMTheNachoMan

답변

2

뭔가 작동 할 수 있습니다 :

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

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

이하지만, 두 번째 단계에서 오류 파일을 작성합니다. 을 병합 할 수 없다고 생각합니다. 동시에 오류 출력 스트림을 병합하지 마십시오.