DOS(배치 파일)에서 표준 오류를 파일로 어떻게 파이프합니까?
-
28-10-2019 - |
문제
DOS 배치 파일의 파일에 표준 오류를 어떻게 파이프합니까?배관을 사용하여 >>
표준 출력만 파이프하고 표준 오류는 여전히 콘솔로 이동합니다.
내 문제의 세부정보:
자동화된 일일 백업에서 명령줄을 통해 WinRAR을 실행하고 있습니다.다음 예는 WinRar의 출력을 파이프하지만 내가 가장 원하는 오류 출력은 파이프하지 않습니다. winraroutput.txt
:
RAR.exe a -esh -r "E:\backup.rar" "D:\*.*" >> winraroutput.txt
문제는 파일이 사용 중일 때 해당 파일이 아카이브에서 누락되었는지 확인하고 이를 .txt
각 옆에 파일 .rar
우리가 다시 돌아가야 할 경우를 대비해 파일을 제출하세요.누락된 파일은 프로그램을 다시 설치하면 쉽게 교체할 수 있으므로 해당 파일이 누락되었음을 알고 있는 한 이를 교체하는 것은 큰 문제가 아닙니다.그러니 꼭 필요한 정보는 아니지만, 필요할 때 알아두면 좋을 정보일 뿐입니다.
표준 오류 출력만 어떻게 출력합니까? .txt
파일을 만들고 가능하지만 필요하지 않은 경우 일반 출력을 콘솔에 그대로 두시겠습니까?
보너스 포인트:
파일이 비어 있는 경우(오류 없음) 파일을 삭제하는 방법을 알려주시면 보너스 포인트가 됩니다!여기에 질문: Windows 배치 파일을 사용하여 파일이 비어 있는 경우 어떻게 검색(및 삭제)합니까?.
해결책
이 시도:
command.exe 2>file.txt
또는 오류를 표시하지 않으려면 nul로 보내십시오.
command.exe 2>nul
이렇게 하면 콘솔에 std::cout이 남게 됩니다.
제휴하지 않습니다 StackOverflow