윈도우 명령프롬프트와 배치파일 문법 정리 기본변수 %allusersprofile% C:\ProgramData %ALLUSERSPROFILE% C:\ProgramData %APPDATA% C:\Users\(사용자명)\AppData\Roaming %CD% 현재 경로(path) %CMDCMDLINE% cmd의 실행경로 %CommonProgramFiles% C:\Program Files\Common Files %commonprogramfiles% C:\Program Files\Common Files %CommonProgramFiles(x86)% C:\Program Files (x86)\Common Files %CommonProgramW6432% C:\Program Files\Common Files %COMPUTERNAME% 컴퓨터이름 표시 %ComSpec% cmd의 실행파일의 위치 %ERRORLEVEL% 에러 레벨을 표시 %HOMEDRIVE% 사용자 홈 디렉토리에 연결된 홈 드라이브의 문자 %HOMEPATH% 사용자 홈 디렉토리의 경로 %HTTP_PROXY% http 프록시 서버 주소 %LOGONSERVER% 사용자 인증을 담당하는 컴퓨터의 이름 %OS% 운영체제의 종류 %Path% 설정된 경로, 설정된 경로에 있는 파일은 어느 위치에서나 실행가능 %PATHEXT% %Path% 에서 실행할 수 있는 확장자의 종류 %PROCESSOR_ARCHITECTURE% AMD64 로 나온, 프로세서의 종류, intel CPU도 64비트는 AMD64로 나옴 %PROCESSOR_IDENTIFIER% 프로세서의 자세한 정보 %PROCESSOR_LEVEL% 프로세서 수준, ex. 6 %PROCESSOR_REVISION% 프로세서 리비전 수준 %programdata% C:\ProgramData %programfiles% C:\Program Files %programfiles(x86)% C:\Program Files (x86) %PROMPT% $P$G 프롬프트 모양 %public% C:\Users\Public %systemdrive% C: 운영체제가 설치된 드라이브 %systemroot% C:\Windows %TEMP% 임시 작업 폴터 경로 %TMP% 임시 작업 폴터 경로 %USERDOMAIN% 컴퓨터이름, 사용자의 계정이 속한 도메인 %username% 로그온한 사용자의 이름, 계정이름 %userprofile% C:\Users\사용자 계정 %WINDIR% C:\Windows %DATE% 오늘 날짜를 출력 %TIME% 지금 시각을 출력 %RANDOM% 0 ~ 32767 사이의 아무 숫자를 출력 매개변수 배치파일 실행시 인수를 전달하는 변수 예시) 배치파일명.bat test 35 70 %0 배치파일명.bat 파일명을 전달 %1 test 첫번째 인수 %2 35 두번째 인수 %1 %2 test 35 %*| test 35 70 모두 전달 환경변수 Set 명령어로 선언하여 사용 CMD 에서 set 으로 모든 선언된 환경변수를 확인할 수 있음. CMD 에서 %환경변수% 로 내용을 확인할 수 있음. > echo %COMPUTERNAME% set any1=값 set any1=12345678 set /a any1 = 수식 수식의 결과를 any1 에 보관 set /p any2 %any1% 12345678 저장된 값이 나타남 %any1:대응값% 저장된 값을 대응값으로 치환 %any1:123=뭐냐% 뭐냐45678 123을 뭐냐 로 치환 %any1:1234=% 5678 1234를 없음으로 치환 %any1:~1% 2345678 0부터 카운트해서 1번째 문자부터 나타냄 %any1:~3% 45678 0부터 카운트해서 4번재 문자부터 나타냄 실제값 1, 2, 3, 4, 5, 6, 7, 8 카운트 0, 1, 2, 3, 4, 5, 6, 7 카운트는 0부터 시작함 %any1:~3,2% 45 4번째 글자부터 2개 출력 %any1:~3,-2% 45678 4번째 글자부터 맨 뒤 2개 빼고 출력 %any1:~-3,2% 67 뒤(-)에서 3번째 글자부터, 2개 출력 실제값 1, 2, 3, 4, 5, 6, 7, 8 카운트 8, 7, 6, 5, 4, 3, 2, 1 뒤(-)는 카운트가 1부터 시작함 %any1:~-7,4% 2345 %any1:~-4,-1% 567 뒤에서 4번째 부터 맨 뒤 1글자 빼고 출력 명령어, 배치파일 명령 pushd 현재 경로를 POPD 에 저장 후 지정된 경로로 이동 popd PUSHD 에 의하여 기억된 경로로 다시 이동 %0 "c:\temp\test.bat" ""를 포함한 "배치명령에 의한 어떤값" %~0 c:\temp\test.bat ""를 제외한 배치명령에 의한 어떤값 %~d0 c:\temp\test.bat 드라이브 문자 %~p0 c:\temp\test.bat 경로명, 드라이브명 제외 %~n0 c:\temp\test.bat 파일명, 경로·확장자 제외 %~x0 c:\temp\test.bat 확장자명 %~dp0 c:\temp\test.bat 완전한 경로명 %~dpnx0 c:\temp\test.bat 완전한 경로명과 파일명까지 %cd% c:\temp %~dp0 c:\temp\ %cd% 와 %~dp0 의 차이는 \의 유무 배치파일 명령 정리.xlsx