Windows 배관시 STDERR 및 STDOUT을 동일한 프로그램으로 리디렉션

tim11g

MSDN이 문제는 Windows가 하나의 파일에 표준 출력 및 표준 오류를 cmd를 리디렉션의 예를 제공합니다 :

dir file.xxx 1> output.msg 2>&1

STDERR 및 STDOUT이 다른 프로그램으로 파이프 될 때 동일한 작업을 수행하려고합니다. STDERR 리디렉션이없는 사용법은 다음과 같습니다.

net use Z: \\server\share  |  TimeStampPipe.exe >> logfile.txt 

"net use"의 STDERR 및 STDOUT이 TimeStampPipe.exe로 파이프되기를 원합니다. TimeStampPipe.exe의 STDERR은 신경 쓰지 않습니다. 2> & 1은 TimeStampPipe.exe가 아닌 넷 사용에 적용된다는 것을 나타 내기 위해 어디로 가나 요? 나는 이것을 시도했다

net use Z: \\server\share  1> 2>&1 TimeStampPipe.exe >> logfile.txt 

그리고 얻었다 2>&1 was unexpected at this time.

나는 이것을 시도했다

net use Z: \\server\share  1| 2|&1 TimeStampPipe.exe >> logfile.txt 

그리고 얻었다 & was unexpected at this time.

배관 할 때 이렇게하는 방법이 있습니까? 다음과 같이 시도해 볼 수 있습니다.

net use Z: \\server\share  1> tempfile.txt 2>&1
type tempfile.txt | TimeStampPipe.exe >> logfile.txt 
del tempfile.txt

더 간결한 접근 방식이 있습니까?

편집 : 2>&1혼자 사용하기 위해 @compo의 제안을 시도했습니다 . 다음 세 가지 형태를 시도했습니다.

net use Z: \\server\share  | 2>&1 TimeStampPipe.exe >> logfile.txt 
net use Z: \\server\share  |  TimeStampPipe.exe 2>&1 >> logfile.txt 
net use Z: \\server\share  | TimeStampPipe.exe >> logfile.txt 2>&1

각각의 경우 stdout은 올바르게 파이프되지만 net use의 모든 stderr 출력은 파이프를 통하지 않고 화면으로 이동합니다.

aschipfl

다른 사람들이 이미 주석에서 지적했듯이 다음을 수행해야합니다.

net use Z: \\server\share 2>&1 | TimeStampPipe.exe >> logfile.txt

STDOUTSTDERR 을 파일 로 리디렉션하는 올바른 코드가 이미 있습니다 .

dir file.xxx 1> output.msg 2>&1

다음과 동일합니다.

dir file.xxx > output.msg 2>&1

출력 리디렉션 ( >)은 기본적으로 STDOUT (핸들 1) 에서 읽습니다 .

표현식 2>&1은 핸들 2( STDERR )이 핸들 1( STDOUT )이 현재 (재) 지정되는 대상으로 재 지정되도록 정의합니다 . 그 표현의 위치가 중요합니다.


파이프 ( |)의 경우 동일한 기술을 적용해야합니다. 파이프 는 left-side 명령 의 출력 ( STDOUT , handle 1)을 right-side 명령 의 입력 ( STDIN , handle 0)으로 리디렉션한다는 것을 기억하십시오 .

이제 왼쪽의 STDOUTSTDERR오른쪽의 STDIN 으로 리디렉션하고 싶습니다 . 오른쪽은 변경되지 않았으므로 그대로 유지합니다. 그러나 왼쪽은 수정해야합니다. STDOUT은 이미 원하는 위치로 이동하지만 STDERR 은 아직 수행하지 않으므로 출력 리디렉션 ( ) 과 동일한 표현식을 사용하여 STDOUT 대상으로 리디렉션해야합니다 >.

net use Z: \\server\share 2>&1 | TimeStampPipe.exe >> logfile.txt

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

stdout 및 stderr을 파일로, stderr을 stdout으로 리디렉션

분류에서Dev

STDOUT 및 STDERR 리디렉션을 동적으로 변경

분류에서Dev

stderr 및 stdout을 동일한 파일로 리디렉션하는 방법

분류에서Dev

종료 코드를 변경하지 않고 stdout 및 stderr을 다른 프로그램으로 리디렉션

분류에서Dev

stdout 및 stderr를 다른 파일로 리디렉션

분류에서Dev

stdout 및 / 또는 stderr을 변수의 경로로 리디렉션

분류에서Dev

리디렉션하는 것을 잊었을 때 GNU 화면에서 실행되는 프로그램의 stdout 및 stderr를 저장하십시오.

분류에서Dev

스크립트 stderr 및 stdout을 파일로 리디렉션하지만 stdout도 tty로 유지합니까?

분류에서Dev

시스템 명령을 사용하여 stdout 및 stderr 출력을 파일로 리디렉션하는 것이 Perl에서 작동하지 않습니다.

분류에서Dev

stdout과 stderr을 함께 리디렉션 VS stdout을 리디렉션 한 다음 stderr을 stdout의 파일로 리디렉션

분류에서Dev

stdout 및 stderr을 파일 설명자 복사본없이 동일한 파일로 리디렉션하는 것이 안전합니까?

분류에서Dev

stdout 및 stderr을 파일 설명자 복사본없이 동일한 파일로 리디렉션하는 것이 안전합니까?

분류에서Dev

Laravel artisan queue : 작업이 stderr / stdout을 파일로 리디렉션

분류에서Dev

Cron은 stdout 및 stderr를 다른 파일로 리디렉션합니다.

분류에서Dev

stderr 및 stdout의 일부를 / dev / null로 리디렉션하는 방법

분류에서Dev

stdout 및 stderr를 파일로 리디렉션하는 POSIX 호환 방법

분류에서Dev

stdout을 tcsh의 stderr로 리디렉션

분류에서Dev

stderr 및 stdout을 다른 파일로 리디렉션하고 터미널에 표시하는 방법은 무엇입니까?

분류에서Dev

stderr 및 stdout을 다른 파일로 리디렉션하고 터미널에 표시하는 방법은 무엇입니까?

분류에서Dev

bash에서 stdin과 stdout 및 stderr을 동시에 리디렉션하는 방법은 무엇입니까?

분류에서Dev

stdout / stderr을 로그 파일로 리디렉션 할 수 없습니다.

분류에서Dev

nohup : 입력을 무시하고 stderr을 stdout으로 리디렉션

분류에서Dev

stdout 및 stderr를 파일로 리디렉션하고 stderr를 콘솔에 표시하는 방법은 무엇입니까?

분류에서Dev

bash stdout + stderr를 한 파일로, stderr를 다른 파일로 리디렉션

분류에서Dev

STDERR을 파일과 콘솔로 리디렉션하고 STDOUT을 파일로만 리디렉션하는 방법

분류에서Dev

stdout 및 stderr을 리디렉션하면 여전히 stdout으로 인쇄됩니다.

분류에서Dev

bash : stderr를 파일로 리디렉션하고 stdout + stderr를 화면으로 리디렉션

분류에서Dev

nc에 대한 STDOUT 및 STDERR 리디렉션

분류에서Dev

변수를 사용한 Stdout 및 Stderr 리디렉션

Related 관련 기사

  1. 1

    stdout 및 stderr을 파일로, stderr을 stdout으로 리디렉션

  2. 2

    STDOUT 및 STDERR 리디렉션을 동적으로 변경

  3. 3

    stderr 및 stdout을 동일한 파일로 리디렉션하는 방법

  4. 4

    종료 코드를 변경하지 않고 stdout 및 stderr을 다른 프로그램으로 리디렉션

  5. 5

    stdout 및 stderr를 다른 파일로 리디렉션

  6. 6

    stdout 및 / 또는 stderr을 변수의 경로로 리디렉션

  7. 7

    리디렉션하는 것을 잊었을 때 GNU 화면에서 실행되는 프로그램의 stdout 및 stderr를 저장하십시오.

  8. 8

    스크립트 stderr 및 stdout을 파일로 리디렉션하지만 stdout도 tty로 유지합니까?

  9. 9

    시스템 명령을 사용하여 stdout 및 stderr 출력을 파일로 리디렉션하는 것이 Perl에서 작동하지 않습니다.

  10. 10

    stdout과 stderr을 함께 리디렉션 VS stdout을 리디렉션 한 다음 stderr을 stdout의 파일로 리디렉션

  11. 11

    stdout 및 stderr을 파일 설명자 복사본없이 동일한 파일로 리디렉션하는 것이 안전합니까?

  12. 12

    stdout 및 stderr을 파일 설명자 복사본없이 동일한 파일로 리디렉션하는 것이 안전합니까?

  13. 13

    Laravel artisan queue : 작업이 stderr / stdout을 파일로 리디렉션

  14. 14

    Cron은 stdout 및 stderr를 다른 파일로 리디렉션합니다.

  15. 15

    stderr 및 stdout의 일부를 / dev / null로 리디렉션하는 방법

  16. 16

    stdout 및 stderr를 파일로 리디렉션하는 POSIX 호환 방법

  17. 17

    stdout을 tcsh의 stderr로 리디렉션

  18. 18

    stderr 및 stdout을 다른 파일로 리디렉션하고 터미널에 표시하는 방법은 무엇입니까?

  19. 19

    stderr 및 stdout을 다른 파일로 리디렉션하고 터미널에 표시하는 방법은 무엇입니까?

  20. 20

    bash에서 stdin과 stdout 및 stderr을 동시에 리디렉션하는 방법은 무엇입니까?

  21. 21

    stdout / stderr을 로그 파일로 리디렉션 할 수 없습니다.

  22. 22

    nohup : 입력을 무시하고 stderr을 stdout으로 리디렉션

  23. 23

    stdout 및 stderr를 파일로 리디렉션하고 stderr를 콘솔에 표시하는 방법은 무엇입니까?

  24. 24

    bash stdout + stderr를 한 파일로, stderr를 다른 파일로 리디렉션

  25. 25

    STDERR을 파일과 콘솔로 리디렉션하고 STDOUT을 파일로만 리디렉션하는 방법

  26. 26

    stdout 및 stderr을 리디렉션하면 여전히 stdout으로 인쇄됩니다.

  27. 27

    bash : stderr를 파일로 리디렉션하고 stdout + stderr를 화면으로 리디렉션

  28. 28

    nc에 대한 STDOUT 및 STDERR 리디렉션

  29. 29

    변수를 사용한 Stdout 및 Stderr 리디렉션

뜨겁다태그

보관