답변:
귀하의 배치 파일 형식은 항상 대신 셸 명령의 EXE로 복용 문은 조금 불분명 한 것으로 보인다.
그러나, 방법에 차이 차별 어떻게 Windows 명령 행 인터프리터 취급 기본이없는 실행 .COM
, .EXE
, .BAT
와 .CMD
.
증명 : 다음 배치 스크립트는 PathExt
환경 변수 의 기본값을 구문 분석하고 및 명령의 .COM;.EXE;.BAT;.CMD
적절한 출력 값을 각각 표시합니다.assoc
ftype
@ECHO OFF
SETLOCAL EnableExtensions
set "parse_ext=%pathext:;=","%"
@for %%G in ("%parse_ext%") do (
@for /F "tokens=1,* delims==" %%H in ('assoc %%G') do (
@for /F "tokens=1,* delims==" %%J in ('ftype %%I') do (
@echo %%H %%I %%K
)
)
)
산출:
==>D:\bat\SU\969327.bat
.COM comfile "%1" %*
.EXE exefile "%1" %*
.BAT batfile "%1" %*
.CMD cmdfile "%1" %*
참고 : PathExt
환경 변수는 운영 체제가 실행 파일로 간주하는 파일 확장자 목록을 리턴합니다 . 확장명이 포함되지 않은 명령 줄을 실행할 때 명령 인터프리터 ( cmd.exe
)는이 환경 변수의 값을 사용하여 어떤 확장을 찾아 어떤 순서로 찾을 지 결정합니다.