어떻게 CMD 창에서 출력을 방지합니까? 나는이배치의 명령 출력 방지
@echo 오프
시간 제한/위해 그것을 할 방법을 알고 t 3/nobreak> NUL
MKDIR 파일 2> NUL
하지만 일반적인 방법에 대해 무엇인지 궁금 해서요 모든 명령 또는 각 명령을 찾는 방법을 묻지 않아도됩니다. 자동으로 XCopy를 복사하려고합니다. 화면이 스팸으로 표시되지 않지만 다른 명령에도 필요합니다.
어떻게 CMD 창에서 출력을 방지합니까? 나는이배치의 명령 출력 방지
@echo 오프
시간 제한/위해 그것을 할 방법을 알고 t 3/nobreak> NUL
MKDIR 파일 2> NUL
하지만 일반적인 방법에 대해 무엇인지 궁금 해서요 모든 명령 또는 각 명령을 찾는 방법을 묻지 않아도됩니다. 자동으로 XCopy를 복사하려고합니다. 화면이 스팸으로 표시되지 않지만 다른 명령에도 필요합니다.
"일반적인 방법"은 을 사용하여 표준 출력을 nul
으로 리디렉션하는 것과 같습니다. 항상 각 행의 마지막 부분이어야합니다.
(당신이 리디렉션을 표준 오류 (2>nul
대신에 표준 출력을 사용중인 mkdir
예;. 나는 그것이 그 일을 할 이유를 모르겠어요,하지만이 완료되고 왜 당신이 알고 아마도)
문제 그렇게함으로써, 당신은 무엇이 효과적이었고 어떤 것이 실패했는지에 대한 어떠한 정보도 얻지 못하기 때문에 문제를 추적하기가 어렵습니다. 정보를 화면에 표시 할 필요가 없지만 나중에 필요할 때 사용할 수있게하려는 경우 대신 파일로 리디렉션
REM Redirect first command to log, truncating anything
REM that existed in the file before.
mkdir Files > temp.log
REM Copy some files into the folder just created, appending
REM the results to the same log file
xcopy *.txt Files\ >> temp.log
출력 스트림이 2 개 있습니다. s : stdout (표준 출력 콘솔) 및 stderr (표준 오류 콘솔). >nul
이상의 정확한 1>nul
표준 출력에 기록 된 텍스트로
귀무 장치로 리디렉션된다.
2>nul
stderr에 쓰여진 텍스트는 null 장치로 리디렉션됩니다.
>nul
및 2>nul
은 모든 명령에서 사용할 수 있으며 동시에 둘 다 사용할 수 있으며 항상 줄 끝 부분에 있어야합니다. 일부 특수한 경우에는 시작 부분에서 사용할 수도 있지만 대부분 리디렉션 연산자는 줄 끝 부분에 작성됩니다.
대부분의 콘솔 명령과 응용 프로그램은 /?
(Windows) 또는 -?
(Unix에서 이식 된 경우) 옵션으로 실행하면 도움말을 인쇄합니다. 명령 프롬프트 창을 열고 xcopy /?
와 XCOPY 같은 일부 명령은 표준 출력 출력을 억제하는 특수 옵션을 가지고하려고합니다. xcopy의 옵션은 이며 의 경우는입니다. 이 옵션을 사용하면 출력을 표준 출력으로 인쇄 할 때 출력이 null 장치로 리디렉션되는 경우 시간이 필요하며 물론 낭비됩니다.
그러나 모든 출력을 Null 디바이스로 리디렉션 할 때 오류가 발생할 경우 중단 될 수 있습니다.예를 들어 xcopy을 사용하는 경우 오류가 발생하면 복사 프로세스가 중단되지 않도록 대상 디렉토리의 읽기 전용 파일을 피하기 위해 /C
및 /R
옵션을 추가로 사용해야합니다. /Q
및 추가 >nul 2>nul
을 사용했기 때문에 완료되지 않았습니다.
항상 배치 파일에서 >nul
을 사용해야하며 종종 가능하지는 않지만 1>nul
으로 지정해야합니다. 명령 행 인터프리터는 일괄 파일 실행시 자동으로 >nul
을 1>nul
(공백 + 1>nul
)으로 바꿉니다. 을 파일에 넣으면 파일로 리디렉션되는 각 줄에서 자주 원하지 않는 후행 공백을 피할 수 있습니다.
자세한 내용은 Microsoft 문서 Using command redirection operators을 참조하십시오.
>와 >>의 차이점은 무엇입니까? – user3717248
'>'는 기존 파일을 잘라내고,'>>'는 이미 존재하는 파일을 추가합니다. 두 파일 모두 이미 존재하지 않으면 파일을 생성하지만,'>>'는 기존 내용의 끝에 텍스트를 추가합니다. –