그냥 궁금해서 우리 회사의 "멋진"사람들은 항상 * .cmd를 사용하지만 아무도 나에게 차이점을 설명 할 수 없었습니다.
그냥 궁금해서 우리 회사의 "멋진"사람들은 항상 * .cmd를 사용하지만 아무도 나에게 차이점을 설명 할 수 없었습니다.
답변:
다음은 Stackoverflow 의 좋은 토론입니다 .
각각에 사용되는 명령 언어의 의미 상 차이가 있습니다 ( .bat
파일은 호환성 버전 을 갖습니다 ). 이 스크립트 중 일부는 여기 에서 설명 할 수 있습니다 .
@echo off&setlocal ENABLEEXTENSIONS
call :func&&echo/I'm a cmd||echo/I'm a bat
goto :EOF
:func
md;2>nul
set var=1
기본적으로 .cmd
파일은 최신 버전의 MS 명령 언어를 사용하므로 멋진 아이들이 사용합니다.
Wikipedia에 따르면 :
.bat : Microsoft에서 배치 파일에 사용하는 첫 번째 확장명입니다. 이 확장은 MS-DOS 및 대부분의 Microsoft Windows 버전을 포함한 대부분의 Microsoft 운영 체제에서 실행될 수 있습니다.
.cmd : 최신 .cmd 확장명은 Windows NT 기반 시스템에서 'Windows NT 명령 스크립트'로 설명되며 .bat 확장명 대신 .cmd 확장명을 사용하면 이전 버전의 Windows가 어떻게 해야할지 알 수 없으므로 유용합니다 COMMAND.COM 스타일 파일에 대한 명령을 실수로 착각하지 않고 명령 확장이 없기 때문에 새 스타일 명령을 실행하지 못하여 스크립트가 부분적으로 만 실행되어 손상을 입힐 수 있습니다. 예를 들어, 파일을 성공적으로 복사 한 다음 원본을 삭제하지 못한 경우).
.cmd와 .bat 파일 처리의 유일한 차이점은 .cmd 파일에서 ERRORLEVEL 변수가 명령 확장의 영향을받는 명령이 성공하더라도 (명령 확장이 활성화 된 경우) .bat 파일에서 ERRORLEVEL 변수가 변경된다는 것입니다 오류시에만 변경됩니다.
이것이 도움이되기를 바랍니다.