.cmd와 .bat 파일의 차이점은 무엇입니까?


답변:



10

각각에 사용되는 명령 언어의 의미 상 차이가 있습니다 ( .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 명령 언어를 사용하므로 멋진 아이들이 사용합니다.


2
<3 cmd를 스크립트 : 난독 화
grawity을

예쉬! 나는 정정되었다. 전에 CMD.EXE의 동작을 몰랐습니다.
Evan Anderson

6

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 변수가 변경된다는 것입니다 오류시에만 변경됩니다.

이것이 도움이되기를 바랍니다.


1

이론적으로 .cmd는 "trueЪ"입니다. .bat는 이전 DOS command.com에 대한 스크립트이고 .cmd는 Windows NT의 cmd.exe에 대한 스크립트이므로 마지막 스크립트에는 조금 더 향상된 스크립트가 있습니다. 실생활에서 보통 리눅스에서 / bin / sh 또는 / bin / bash를 쓰는 것과 같이 둘 다 동일합니다 (sh는 실제로 bash 인 평균 배포판).


0

OS / 2에서 사용되는 .cmd 형식을 처음 보았습니다. DOS 용어로 생각하면 스테로이드의 .bat 파일과 같습니다. .bat 파일은 DOS 유형 OS에서 처음 소개되었습니다. 고급 기능을 시작할 때를 제외하고는 많은 구문이 비슷합니다. 또한 .cmd 파일은 16 비트 환경 (win98)에서 작동하지 않을 가능성이 있지만 .bat 파일은 모든 환경에서 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.