레이블이 Windows인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Windows인 게시물을 표시합니다. 모든 게시물 표시

2010년 2월 8일 월요일

bat 파일 명령어

 

 배치파일 연산자  정의
 %  명령어줄 매개변수 접두사
 /  명령어 옵션 플래그
 ₩  디렉토리 패스 구분자
 ==  문자열비교, 같음
 !==!  문자열비교, 다름
 |  파이프, 또는
 @  현재 명령어를 출력(echo)하지 말것
 *  파일명, 와일드카드
 >  파일 재지향 (덮어쓰기)
 >>  파일 재지향 (덧붙여쓰기)
 <  표준입력 재지향
 %VAR%  환경 변수
 REM  주석
 NOT  뒤에 나오는 명령어 부정
 NUL  명령어 출력 없애기
 ECHO  화면출력
 ECHO.  화면출력(빈줄하나)
 ECHO OFF  다음에 나오는 명령어를 화면출력하지 말것.
 FOR %%VAR IN (LIST) DO  루프
 :LABEL  라벨
 GOTO  지정된 곳으로 건너뜀
 PAUSE  잠시 멈춤
 CHOISE  메뉴 선택
 IF  조건문
 IF EXIT filename  파일이 존재하는지 확인
 IF !%N==!  변경 가능한 매개변수인 N이 없다면...
 CALL  다른 스크립을 호출
 COMMAND /C  다른 스크립을 호출
 SET  환경 변수를 세트
 SHIFT  명령어줄 변수 목록을 왼쪽으로 이동
 SGN  부호(정수)
 ERRORLEVEL  종료 상태
 CON  콘솔(표준입력)
 PRN  프린터 디바이스 (일반)
 LP1  프린터 디바이스 (LP)
 COM1  시리얼 포트 디바이스

 

명령어

 명령어  정의
 ASSIGN  파일 디렉토리 링크
 ATTRIB  파일 퍼미션 변경
 CD  디렉토리 변경
 CHDIR  디렉토리 변경
 CLS  출력화면 깨끗이
 COMP  파일비교
 CLS  출력화면 지우기
 Ctl - C  정지
 Ctl - Z  끝(EOF)
 DEL  삭제
 DELTREE  하위모두 삭제
 DIR  디렉토리 보이기
 ERASE  파일삭제
 EXIT  프로세스 종료
 FC  파일비교
 FIND  찾기
 MD  디렉토리 생성
 MKDIR  디렉토리 생성
 MORE  텍스트 파일 쪽단위 필터
 MOVE  이동
 PATH  경로
 REN  이름바꾸기
 RENAME  이름바꾸기
 RD  디렉토리 삭제
 RMDIR  디렉토리 삭제
 SORT  파일 정렬
 TIME  시스템 시간 보여주기
 TYPE  파일을 출력
 XCOPY  파일복사(확장)

 

참고주소 :  http://kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/dosbatch.html

[DOS 배치] echo off 명령어

## @echo off

 

 

배치파일(Batch File)의 첫 부분에는 거의 모두
@echo off
이런 부분이 있습니다.

 

@echo off 는, 배치 파일이 명령들을 쓸데없이 '복창'하지 않도록 만들어서, 화면을 간결하게 하기 위한 명령입니다.

배치 파일 안에는 수많은 명령어들이 있습니다. 배치 파일이 그 명령어들을 하나 실행시킬 때마다, 그 명령어들 자체도 화면에 출력한다면 산만해지게 됩니다. echo off 는 명령어의 결과만을 출력하라는 명령입니다.

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

배치 파일에서는, 어떤 명령어 앞에 골뱅이(@)를 하나 붙이면 그 명령어에 대해 '복창'하지 말라는 의미이기 때문에, @echo off 라고 하면 이제, 완벽하게 모든 복창을 금지시킬 수 있습니다.

 

@echo off 와 @echo on
배치 파일의 첫 줄에 항상 @echo off 를 추가하는 것이 좋습니다.
그런데 드문 경우지만, 명령어의 복창이 필요할 때가 있습니다.
그럴 때는 복창이 필요한 부분에 @echo on 을 간단히 추가하면 됩니다. (OFF가 아닌 ON 입니다.) 복창의 필요성이 없는 부분에서는 다시 @echo off 를 추가하면 됩니다.


즉 @echo off 와 @echo on 은, 배치 파일의 꼭 첫줄에 있지 않아도 되고, 필요한 부분에 마음껏 추가하여 에코를 켜고 끌 수 있습니다.

 

도스명령어

(2) 도스 명령어

① 기본 명령어

 ㈎ CLS 명령
     : CLS는 현재 화면에 나타난 내용을 지우는 명령이다.
 
 
<일반 형식>  CLS -> Enter
   (화면상에 나타난 내용이 지워지고, 커서가 화면 위쪽으로 옮겨져 간다.)
 
 
㈏ DIR 명령
     : DIR은 현재 사용 중이거나 지정한 디스크에 저장된 파일과 디렉터리 목록을 화면에
       출력하는 명령이다.

   < 일반 형식> DIR [드라이브명] [경로명] [파일명] [/P] [/W]  -> Enter

        [/P] - 페이지 단위로 화면에 출력.
        [/W] - 파일과 디렉터리 목록을 한 줄에 5개씩 출력.
        [  ] - 대괄호 안에 있는 내용은 생략 가능함.

    : 디렉터리는 디렉터리명이 디렉터리임을 나타내는 <DIR> 문자, 디렉터리가 작성되는
      날짜와 시간 순으로 출력된다. 또한, 파일 목록은 파일명, 확장자, 파일의 크기, 날
      짜, 시간 등을 기준으로 원하는 순서로 볼 수 있다.
 
   (실습) 다음 명령을 실행시켜 목록을 출력시켜 보자.
 
      A > DIR B:   Enter <- B:의 디스크에 저장된 파일과 디렉터리 목록을 출력한다.
      A > DIR/P    Enter <- A:의 디스크에 저장된 목록을 페이지 단위로 한 화면에 23줄씩
                               출력한다.
      A > DIR/W    Enter <- 파일과 디렉터리 목록을 한 줄에 5개씩 출력한다.
      A > DIR *.* Enter <- A:의 디스크에 저장된 파일과 디렉터리 목록을 모두 출력한다.

 ㈐ FORMAT 명령
     : 새로 구입한 플로피 디스크를 초기화할 때 사용하는 명령. 초기화는 디스크를 사용
       하려고 하는 컴퓨터에 맞게 트랙과 섹터로 구분하여 정보를 저장할 수 있는 상태로
       만들어 주는 것이다.

  < 일반 형식 > FORMAT [드라이브명] [/S] [/V] [/4]  <- Enter

       [/S] - 디스크를 시스템 디스크로 초기화할 때 사용한다.
       [/V] - 디스크에 볼륨명을 부여할 때 사용한다.
       [/4] - 360KB로 초기화할 때 사용한다.

   (보기) A 드라이브에 디스크를 넣은 후 초기화 시켜보자.
 
     1. FORMAT A: 명령을 입력하고 Enter 키를 누르면, 드라이브 A에 새 디스크를 넣고
        Enter 키를 누르라는 메시지가 나타난다.

     2. 새 디스크를 드라이브 A에 넣고, 손잡이를 닫은 다음 Enter 키를 누르면, 초기화
        작업이 시작된다.

     3. 초기화 작업이 완료되면, 볼륨명을 입력할 것을 지시하는 메시지가 나타난다.

     4. 볼륨명을 입력하고 Enter 키를 누르거나, 볼륨명이 없으면 바로 Enter 키를 누른다.
        그러면 디스크 전체 용량, 사용 가능 용량, 불량 용량이 출력된다.

     5. 또 다른 디스크를 초기화할 것인지를 묻는 메시지가 나타난다. 이 때, 다른 디스크를
        초기화하려면 Y를 입력하고, 초기화를 끝내려면 N을 입력한다.

   (실습) 다음 명령을 실행시켜 확인하여 보자.

      A > FORMAT A:/S  Enter <- A:의 디스크를 초기화하고, 시스템 파일을 복사한다.
      A > FORMAT A:/V  Enter <- A:의 디스크를 초기화시킨 뒤, 볼륨명을 부여할 수 있다.
      A > FORMAT A:/4  Enter <- 고밀도(1.2MB) 디스크 드라이브에서 360KB의 디스크를 초기화.
 
  ㈑ DISKCOPY 명령
     : DISKCOPY는 디스크에 있는 전체 내용을 복사하려고 할 때 사용하는 명령으로, 디스크
       단위로 복사한다.

  <일반형식> DISKCOPY [d1:] [d2:]  Enter

        [d1] - 파일이 저장된 원시 디스크가 있는 드라이브.
        [d2] - 파일을 복사할 대상 디스크가 있는 드라이브.

   (보기) A 드라이브의 디스크에 있는 전체 내용을 B 드라이브의 디스크에 복사하기.

       1. 복사하려는 원시 디스크를 A 드라이브에 넣고 손잡이를 닫은 다음, DISKCOPY A: B:
          를 입력하고, Enter 키를 누른다.

       2. 대상디스크를 넣어 달라는 메시지가 나타나면 대상 디스크를 B 드라이브에 넣고 손
          잡이를 닫은 후 임의의 키를 누른다. 복사를 다하면 디스켓의 복사 위치를 표시한다.
          또 다른 디스크를 복사하려면 B 드라이브에 디스크를 삽입한 뒤에 Y를 입력하고,
          그렇지 않으면 N을 입력한다.

 ㈒ PROMPT 명령
   : PROMPT는 도스 상태에서 프롬프트의 모양을 바꾸어 주는 명령이다.

  <일반형식> PROMPT $[지정 문자]   Enter

       $ - 지정 문자 앞에 붙이는 기호

     : 프롬프트는 보통 현재 드라이브를 'A>'로 나타내는 PROMPT 명령은 '$' 기호와 지정 문자
       를 이용하여 프롬프트를 변경할 수 있다.
 

 도스에서 사용되는 프롬프트


   (보기) 프롬프트 변경하기.

        1. 프롬프트를 현재의 날짜 1996년-04-03(수)로 나타내려면 PROMPT $D를 입력하고 Enter
           키를 누른다.

        2. 프롬프트를 원래 상태로 복귀하려면 PROMPT $P$G를 입력하고 Enter 키를 누르면 된다.
 

 ㈓ DATE 명령
   : DATE는 날짜를 화면에 나타내거나 나타난 날짜를 수정할 때, 사용하는 명령이다.

  <일반 형식> DATE   <- Enter
 

 ㈔ TIME 명령

  <일반형식> TIME  <- Enter
 
 
② 파일에 관한 명령어

 ㈎ DEL 명령
   : DEL 디스크에 저장된 파일 중에서 지정된 파일을 찾아 삭제하는 명령이다.

  <일반 형식> DEL [드라이브명] [경로명] <파일명>  Enter

  (보기) B 드라이브에 있는 모든 파일을 삭제하기.
    드라이브 B의 디스크에 저장된 파일을 모두 삭제하려면 다음과 같이 입력하고 Enter 키를
    누른다. 그러면 '맞습니까(Y/N)?'라는 메시지가 출력된다. 이 때, 파일 전체를 삭제하려면
    Y를 입력하고, 삭제해서는 안 될 경우라면 N을 입력한다.

      A>DEL B:*.*  Enter  <- B 드라이브에 있는 디스크의 모든 파일을 삭제한다.
        맞습니까(Y/N)?
 
     (실습) 다음 명령을 실행시켜 디스크에 수록된 파일을 삭제하여 보자.
     A>DEL SAM.DAT  Enter <- A 드라이브에 있는 디스크에서 SAM.DAT 파일을 삭제한다.

     A>DEL *.EXE  Enter <- 확장자가 .EXE인 파일을 모두 삭제한다.

     A>DEL A:\DOS *.BAK   Enter <- DOS 디렉터리에 종속된 파일 중에서 확장자가 BAK인 파일
                                    을 모두 삭제한다.

     A>DEL A:\DOS  Enter <- 디렉터리만 지정하고, 삭제할 파일을 지정하지 않으면 DOS
                            디렉터리에 종속된 파일을 모두 삭제한다.

 ㈏ REN 명령
   : REN은 지정한 파일의 이름을 바꾸어 주는 명령이다.

  <일반 형식> REN [드라이브명] [경로명] <파일1> <파일2>  Enter
 
         <파일1> - 기존의 파일명과 확장자.
         <파일2> - 새로운 파일명과 확장자.

  (실습) 다음 명령을 실행시켜 파일명을 바꿔 보자.

     A>REN B:TEST1.DAT TEST2.DAT  Enter <- B 드라이브의 디스크에 있는 TEST.DAT를 TEST2.DAT
                                             파일명으로 바꾼다.

     A>REN B:*.DAT *.TXT  Enter <- B 드라이브의 디스크에 저장된 파일 중에서 확장자가 .DAT
                                    인 파일의 확장자를 모두 .TXT로 바꾼다.

 ㈐ COPY 명령
   : COPY는 파일을 복사할 때 사용하는 명령이다. 이 명령은 작성된 파일을 보관하거나 복수
     개의 파일을 결합하여 준다.

  <일반 형식> COPY [d1] [Pn] <파일1> [d2] [Pn] <파일2> Enter

        [d1] - 파일이 저장된 원시 디스크가 있는 드라이브.
        [d2] - 파일을 복사할 대상 디스크가 있는 드라이브.
        [Pn] - 경로명.

   (실습) 다음 명령을 실행시켜 확인하여 보자.

      1. 파일 복사하기
         A>COPY B:TEST.BAS  Enter  <- B 드라이브의 디스크에 있는 TEST.BAS 파일을 A 드라
                                       이브의 디스크에 복사한다.

         A>COPY B:*.*  Enter  <- B 드라이브의 디스크에 있는 모든 파일을 A 드라이브의
                                 디스크에 복사한다.

      2. 파일 인쇄하기
         A>COPY B:TEST.DAT PRN:  Enter  <- B 드라이브의 디스크에 있는 TEST.DAT를 인쇄한다.
 
      3. 파일 결합하기
         A>COPY B:TEST.BAS+B:TEST2.BAS B:TESTALL.BAS  Enter
                 <- B 드라이브의 디스크에 있는 TEST1.BAS 파일과 TEST2.BAS 파일을 결합하여
                   TESTALL.BAS라는 이름으로 복사한다.

      4. 파일 생성하기
         A>COPY CON B:TEST.DAT  Enter <- B 드라이브의 디스크에 TEST.DAT라는 파일을 생성.

      5. 화면으로 보내기
         A>COPY TEST.DAT CON:  Enter <- A:의 디스크에 저장된 TEST.DAT라는 파일을 화면
                                         으로 복사한다.

 ㈑ TYPE 명령
   : TYPE은 지정한 파일의 내용을 화면에 출력시키는 명령이다. 이 명령은 아스키 코드로
     작성된 파일만 볼 수 있다.

  <일반 형식> TYPE [드라이브명] [경로명] [파일]   Enter

  (실습) 다음 명령을 실행시켜 확인하여 보자.

     A>TYPE B:SAM.TXT  Enter <- B:에 저장된 SAM.TXT 파일의 내용을 화면에 출력한다.
 
     A>TYPE AAA.TXT >\XYZ.DAT   Enter <- A 드라이브의 디스크에 있는 AAA.TXT 파일의 내용
                                          을 XYZ.DAT 파일로 복사한다.

 ㈒ CHKDSK 명령

  <일반 형식> CHKDSK [드라이브명] <파일명> [/F] [/V]   Enter

       [/F] - 디스크의 상태를 검색하고, 이성이 있으면 복구한다.
       [/V] - 디스크를 검색한 다음, 파일 목록을 화면에 출력한다.

  (실습) 다음 명령을 실행시켜 디스크 상태를 점검하여 보자
       A>CHKDSK A:   Enter <- A 드라이브에 있는 디스크의 상태를 점검.

       A>DHKDSK B:/V   Enter <- B 드라이브에 있는 디스크를 점색한 다음, 디렉토리와
                                파일의 목록을 화면에 출력한다.

 ㈓ XCOPY 명령
   : XCOPY는 디렉터리와 그 디렉터리가 가지고 있는 파일은 물론 하위 디렉터리와 파일까지
     모두 복사하는 명령이다.

  <일반 형식> XCOPY [/d1:] [/d2:] [/Pn] [/S] [/E] [/P]  Enter

        [/S] - 현재의 디렉터리와 서브디렉터리를 복사한다.
        [/E] - 파일이 없는 디렉터리도 복사한다.
        [/P] - 파일의 복사 여부를 일일이 확인한다.

  (실습) 다음 명령을 실행시켜 디렉터리를 만들어 보자.

     A>XCOPY B:/S  Enter <- A 드라이브의 디스크에 있는 모든 디렉터리와 같은 형태로 B
                            드라이브의 디스크로 복사된 DOS가 생성된다.

     A>XCOPY\ABC\XYZ/S/E  Enter <- 서브디렉터리 ABC의 모든 파일과 디렉터리를 서브디렉
                                    터리 XYZ에 복사한다.

     A>XCOPY B:/S/P  Enter <- A 드라이브의 디스크의 모든 디렉터리와 파일이 같은 형태로
                              B에 복사되는데, 한 파일이 복사될 때마다 복사 여부를 확인한다.

  ③ 디렉터리에 관한 명령어

    도스에서 사용할 수 있는 새 플로피 디스크나 새 하드 디스크에는 루트 디렉터리 하나만
    있지만, 파일을 효과적으로 관리하기 위하여 필요한 경우 디렉터리를 임의로 만들거나
    삭제할 수 있다.

 ㈎ MD 명령
   : MD는 Make Directory의 약자이며, 디스크에 새로운 디렉터리를 만들 때 사용하는 명령.
     디렉터리명은 영문자, 숫자, 특수 문자로 구성하며, 최대 8자까지 가능한데, 한글은
     4자까지 지정할 수 있다.

  <일반 형식> MD [드라이브명] [경로명] Enter

  (실습) 다음 명령을 실행시켜 디렉터리를 만들어 보자.

     A>MD DOS  Enter <- 루트 디렉터리 밑에 서브디렉터리 DOS가 생성된다.

     A>MD \DOS\AAA  Enter <- 서브디렉터리 DOS 밑에 하위 서브 디렉터리 AAA가 생성된다.

 ㈏ CD 명령
   : CD는 Change Directory의 약자이며, 사용자가 원하는 파일이 있는 위치로 디렉터리를 변경
     할 때, 사용하는 명령이다.

  <일반 형식> CD [드라이브명] [경로명]  Enter

  (실습) 다음 명령을 실행시켜 디렉터리를 변경시켜 보자.

    A:\>CD DOS  Enter <- 루트 디렉터리에서 'DOS'로 변경된다.

    A:\DOS>_

    A:\>CD DOS\AAA\BBB  Enter <- 루트 디렉터리에서 서브디렉터리인 'DOS'와 'AAA'를 거쳐
                                 'BBB'로 이동한다.

    A:\DOS\AAA\BBB>_

    A:\DOS\AAA\BBB>CD..   Enter <- 디렉터리 'BBB'에서 한 단계 상위 디렉터리인 'AAA'로
                                    이동한다.

    A:\DOS\AAA>_

    A:\DOS\AAA\BBB>CD\  Enter <- 디렉터리인 'BBB'에서 바로 루트 디렉터리 'A:\'로 이동한다.

    A:\>_

 ㈐ RD 명령
   : RD는 Remove Directory의 약자이며, 디스크에 있는 기존의 디렉터리를 삭제할 때 사용하는
     명령이다.

  <일반 형식> RD [드라이브명] [경로명]  Enter

   RD 명령은 삭제하려고 하는 디렉터리에 종속된 파일이나 서브 디렉터리가 있으면 RD 명령은
   실행되지 않는다. 그러므로 삭제하려는 디렉터리에 종속된 파일이나 서브 디렉터리를 먼저
   삭제한 다음 디렉터리를 삭제하여야 한다.

  ● 디렉터리를 삭제하는 방법

   ⑴ 삭제하려는 디렉터리에 종속된 파일이나 서브 디렉터리가 있는지 DIR 명령으로 확인한다.
   ⑵ 서브 디렉터리가 있으면 먼저 삭제한다.
   ⑶ 종속 파일이 있으면, DEL 명령으로 모두 삭제한다.
   ⑷ CD 명령을 이용하여 상위 디렉터리로 이동한다.
   ⑸ RD 명령으로 삭제하려는 디렉터리를 삭제한다.
   ⑹ DIR 명령을 이용하여 디렉터리 삭제 여부를 확인한다.

 ㈑ PATH 명령
   : PATH는 다른 디렉터리에 있는 외부 명령을 편리하게 사용할 수 있도록 경로를 지정할 때
     사용되는 내부 명령이다.

  <일반 형식> PATH [경로명]  Enter

   사용하려는 명령어가 현재 디렉터리에 없을 때, 그 명령어를 사용하면 오류가 발생한다.
   이 때, PATH를 지정하면 다른 디렉터리에 있는 명령어를 사용할 수 있다.

  (실습) 다음 명령을 실행시켜 확인하여 보자.

    A>PATH   Enter <- 현재 지정된 경로가 화면에 나타난다.

    A>PATH   Enter <- 현재 지정된 경로를 해제한다.

    A>PATH A:\DOS  Enter <- 'DOS'에 대한 경로가 지정되었으므로, 사용자는 어느 디렉터리
                            에서도 'DOS'가 종속된 외부 명령어를 사용할 수 있다.

    A>PATH A:\DOS;A:\DOS\HWP  Enter <- 하나의 'PATH' 명령으로 여러 개의 경로를 지정하려면
                                        세미콜론으로 구분한다.

④ 배치 파일에 관한 명령

 ㈎ 배치 파일
  : 일련의 명령들을 하나의 파일로 만들어 디스크에 저장시켜 놓고, 필요할 때 파일명을 입력
    하면 명령들이 입력된 순서에 따라 자동적으로 실행되도록 구성된 파일이다.
    도스에서는 일반적으로 명령을 하나씩 실행시키지만, 배치 파일은 여러 개의 명령을 한꺼번에
    실행시킬 수 있기 때문에 매우 효과적이다.
    배치 파일의 파일명은 임의로 부여하지만, 확장자는 반드시 '.BAT'로 붙여 주어야 한다.

 ㈏ 자동 배치 파일
  : 배치 파일은 배치 파일명을 입력하여야 명령이 실행되지만, 자동 배치 파일은 컴퓨터 기동시
    자동적으로 실행되는 파일이다. 자동 배치 파일은 파일명과 확장자를 반드시 'AUTOEXEC.BAT'
    로 부여하고, 루트 디렉터리에 저장하여야 한다.
 
  ● 자동 배치 파일을 작성하는 방법

   ⑴ 배치 파일을 작성하기 위하여 COPY CON 명령과 자동 배치 파일명인 'AUTOEXEC.BAT'를 입력
      하고, Enter 키를 누른다.
   ⑵ 자동 배치 파일에 포함할 명령들을 각각 입력하고, Enter 키를 누른다.
   ⑶ 파일 작성을 종료시키기 위하여 Ctrl 키와 Z 키를 동시에 누른다.
   ⑷ '1개의 파일을 복사했습니다.'라는 메시지가 출력되고, 파일 작성이 종료된다.

2010년 2월 3일 수요일

"0x7c0c5a6c"에 있는 명령이 "0x7c0c5a6c"의 메모리를 참조했습니다.

---------------------------
iexplore.exe - 응용 프로그램 오류
---------------------------
"0x7c0c5a6c"에 있는 명령이 "0x7c0c5a6c"의 메모리를 참조했습니다. 메모리는 "written"될 수 없었습니다.


프로그램을 마치려면 [확인]을 클릭하십시오.
프로그램을 디버그하려면 [취소]를 클릭하십시오.
---------------------------
확인   취소  
---------------------------

 

위와같은 오류발생시 해결방법 특히 ActiveX 컨트롤이 뜨는경우 발생함.

 

internet exploer 8 의 온라인 보호기능 때문에 발생됨.

 

해결책)

인터넷익스플로러8 속성 -> 고급 -> 온라인 공격 방지를 위해 메모리 보호 [해제]

 

브라우져 재시작