사진올리기 귀찮아서 글로만 쓰면 과연 누가 볼까 1호점



이미지배너

Batch 자주사용하는 문법 by keispace



기본적으로는
dos명령(cmd명령)을 사용하므로 cls(화면클리어), cd(폴더 이동) 등과 같은 기초명령은 다루지 않음. 


주석

  • Rem 을 써도 되고
  • ::을 써도 됨.
  • 한줄 주석을 명령 & rem 을 쓰면 됨.
출력
  • Echo{쓸내용}
    • {쓸내용}이 출력된다.
  • Echo.
    • 빈 줄이 하나 출력된다.
Goto 
  • Goto err 와 같이 선언하고 이동할 부분에 :err 와 같이 선언해주면 해당 부분으로 이동한다.
  • 에러처리, 반복문탈출 외에는 사용을 지양하면 좋음
  • 메뉴같은걸 만들떄도 활용됨.
변수
  • Set {변수명}={값}
  • 사용은 %{변수명}% 으로 한다.

 
 

설명용 예제 소스

:: 이걸 하지 않으면 cmd창에 내가 실행한 명령이 전부 출력된다

:: @을 붙이면 해당 줄의 명령이 안보임. echo off는 선언 이후의 명령만 가려주므로 자기자신도 가리기 위해붙임.

@echo off

:: 지연변수 사용 선언.

setlocal EnableDelayedExpansion

rem echooff 후에는 이것도 주석으로 쓸 수는 있음.

:start

set var0=0 :: batch는 엔터로 구분하므로 이렇게 쓰면 이게 변수내용이 됨.

set var1=1 & rem ::변수 선언

set var2="2" & rem ::따옴표도 그냥 문자취급임.

set /p "s=s변수 값: " :: = 우항의 내용을 출력 하고 사용자 입력을 받아 좌항의 변수에 값을 할당함.

  

::변수 출력.

::변수가 비어있으면 에러가 발생하므로 echo.쓰는게 좋읍

echo.%var0%

echo.%var1% ::여기서는 주석이 출력됨.

echo.%var2% & rem 마지막에 rem을 넣으면 해당명령을 종료하므로 주석 입력 가능.

echo.%s%

 
 

:: x라고 입력하면 다시 처음으로 감.

::esle if 는 없음.

::따옴표도 문자열이니깐 주의

if "%s%"=="x" (

goto start

) else (

:: batch에서의 변수는 환경변수이고 한 파일 실행 단위로만 값이 변하는 값.

::지연변수를 선언하면 변경한 값을 쓸 수 있다.

set var0 =11

set var1=22

)

::%를 쓰면 일반 환경변수를 호출하므로 값이 안바뀜.

echo.%var0%

::!로 쓰면 지연변수를 호출하므로 변경된 값이 나옴.

echo.!var1!

 
  

pause & rem 잠시멈춤

 
 


 
 


덧글

댓글 입력 영역

와이드리더보드