1580, 2/79 회원가입  로그인  
   qkreoghks00
   http://hackerschool.org
   batch파일 만들기 - 1. 초보 연습

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=897 [복사]


배치파일이 뭔지 아십니까?

배치파일은 윈도우즈상에서 아이콘 이름이 'MS-DOS일괄파일'이라는 파일입니다

만약 도스의 명령어를 파일로 만들고 싶을 때가 있을 것입니다.

바로 도스의 명령어를 파일로 만든게 배치파일입니다.

배치파일 만드는 법은 아주 쉽습니다

메모장으로 만든 뒤 저장할때 .bat를 붙여주면 됩니다



만드는 법***


@echo off

cmd | [명령어]

pause


이게 끝입니다

물론 배치파일을 만들때도 여러가지 명령어가 있습니다

그렇지만 우선 그건 접어두고 간단히 만드는 것부터 배워봅시다

우선 배치파일을 만들때는 첫머리에 @echo off를 붙여주게 됩니다

이건 복창하지 말라는 명령어인데

자세하게 설명하자면


echo off는 명령어의 결과만을 출력하라는 명령어입니다

그런데 echo off 자체도 하나의 명령이기 때문에 이 echo off 명령 자체가 화면에 쓸데없이 출력됩니다.

배치 파일에서는 어떤 명령어 앞에 골뱅이(@)를 하나 붙이면 그 명령어에 대해 '복창'하지 말라는 의미이기 때문에

@echo off 라고 하면 완벽하게 모든 복창을 금지시킬 수 있습니다.

그러니까 쉽게 말하면 @echo off 는 그 명령을 실행한 후 결과만을 출력하라는 명령이죠.

어떤 경우에는 @echo on 이라 해서 일부러라도 복창을 해야하는 경우가 있습니다

그리고 @echo off 와 @echo on은 꼭 첫줄에 오지 않아도 됩니다

그러므로 이걸 활용해서 언제든지 복창하고 복창중지를 할 수 있죠

아무튼 @echo off는 안써줘도 상관 없지만 예를 들어 설명하겠습니다

0.bat -> @echo off 안써준 dir명령 배치파일
1.bat -> @echo off 써준 dir명령 배치파일

C:\>0.bat

C:\>dir

   C 드라이브 볼륨: LOCAL
   볼륨 일련번호: 2454-59D7

   C: 디렉터리

   ...
   ...


이런식으로 나오지만

C:\>1.bat

   C 드라이브 볼륨: LOCAL
   볼륨 일련번호: 2454-59D7

   C: 디렉터리

   ...
   ...

이렇게 되는 것입니다

필요성을 못느끼시겠지만 나중에 명령어를 많이 알게 되어 복잡한 구문을 써야하거나

뭔가를 제작하려고 한다면 필요하게 될 것입니다.



그리고 그다음 cmd |(이건 '바'인데 \와 shift키를 같이 누르면됩니다)를 쓰고

그 옆에 한칸 띄운 후 명령어를 입력하고 저장하면 됩니다

(cmd | 를 꼭 쓰지 않아도 됩니다 그런데 경우에 따라서는 써야합니다 그건 나중에 말하기로 하죠)

pause(포즈)는 뭘까요? 이건 C언어에서의 시스템함수 system("PAUSE");와 같은 의미의 명령어입니다.

즉 이걸 써넣으면 결과를 모두 출력한 후 Press any key to continue라고 하면서 한번 멈추게 됩니다



다시한번 정리하자면


@echo off                 <ㅡ 결과값만 출력하라는 명령어

cmd | [명령어]            <ㅡ 명령을 넣는 부분

pause                     <ㅡ 한번 멈추라는 명령어



만약에 배치파일을 실행한 후 명령 실행하고 바로 끄고 싶다면?

그럴때는 start를 쓰면 됩니다

예를들어 dir을 쓰고 창을 닫고 싶다면

@echo off

start dir

이렇게 만들면 됩니다.





ex)netstat -na를 배치파일로 만들어서 실행하기

메모장 ->

@echo off

cmd | netstat -na

pause





  Hit : 25923     Date : 2007/11/18 03:23



    
qkreoghks00 참고로 이것도 명령어를 많이 익히면 바이러스를 만들 수 있습니다 ㅡ,.ㅡ 2007/11/18  
LinuxKuro 누가.. 요즘 배치파일을 사용할런지 2008/06/05
1560   sdsdfdfgfh[4]     witched14
11/06 35301
1559   텔넷이안되 이상하게뜸[2]     dygks3157
09/02 35138
1558   리눅스 명령어 마스터 1[78]     소유
09/02 34367
1557   초보자를 위한 C++ 강좌 - 씹어먹는 C++ !![2]     kevin0960
03/06 32027
1556     [re] 텔넷이안되 이상하게뜸[1]     enrjfenrjf
05/10 31428
1555   리눅스의 거의 모든 명령어?[314]     소유
10/05 30968
1554   각 라우터 디폴트 비번     ROK.AF
02/09 28857
1553   패스워드 알아내기 2[17]     geniusevil
12/18 26193
  batch파일 만들기 - 1. 초보 연습[2]     qkreoghks00
11/18 25922
1551   [War Game] webhacking.kr 가입을해보자.[12]     푸른하늘
03/06 25620
1550   웹 게시판들의 웹실행파일 업로드 취약점(파일명 필터링 우회)[19]     dual5651
03/28 24553
1549   find 명령어중 -perm 옵션에서 -,+의 차이[1]     파란바다
08/04 24010
1548   해킹 관련 사이트 목록입니다.[12]     wlwjsan
11/09 23673
1547   왜 C 이어야 하는가 ?[96]     소유
04/09 23417
1546   [펌]리눅스에서 Apache2, Tomcat5, JSP, Oracle9i 연동하기[1]     shin3199
05/30 22772
1545   자바가상머신 JVM 메모리 조정하기[1]     rootguy
12/05 22461
1544   [자작] 무선랜 WEP 보안을 뚫어보자.<1>[6]     kjwon15
03/04 22304
1543   ftz 서버 구축해보기[15]     파란바다
09/10 21797
1542   [자작] 자동해킹 USB에 대해서[4]     namjmnam
11/21 21370
1541   리눅스 명령어 마스터 2[27]     소유
09/03 21022
[1] 2 [3][4][5][6][7][8][9][10]..[79]

Copyright 1999-2023 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com