윈도우 명령 줄

기호

기호기능
>출력을 파일에 보낸다. 파일이 없으면 않으면 생성한다. 파일이 있으면 덮어씌운다.dir > t.txt
>>출력을 파일에 보낸다. 파일이 없으면 생성한다. 파일이 있으면 붙여쓴다.dir >> t.txt
<파일의 내용을 명령어의 입력값으로 보낸다.명령 < 파일1
|명령의 출력값을 다른 명령의 입력값으로 보낸다.명령1  | 명령2
&명령1을 실행하고 나서 명령2를 실행한다.명령1 & 명령2
&&명령1이 성공하면 명령2를 실행한다.명령1 && 명령2
||명령1이 실패했을 때만 명령2를 실행한다.명령1 && 명령2
@명령의 출력이 보이지 않게 한다. 배치 파일의 윗줄에 보통 넣는다.@echo off

자주 쓰는 명령어

디렉터리

디렉터리 생성은 mkdir 또는 그 약어 md 명령을 사용한다.

mkdir myfolder

여기까지는 누구나 알지만 다음과 같이 디렉터리 트리를 한번에 만들 수 있다는 사실은 모를 때가 많다.

mkdir myfolderbcd

이렇게 만든 디렉터리를 한꺼번에 지우려면 다음과 같이 한다.

rd /r myfolder

/r 옵션은 myfolder 안에 든 하위 디렉터리와 파일을 모두 삭제한다.

복사

copy

역사가 깊은 복사 유틸리티인만큼 그 기능이 빈약하다. 파일 복사만 가능하며 폴더를 처리 못한다. 다시 말해 폴더를 통째로 복사하는 등의 작업엔 쓰지 못한다. 뒤에 등장할 xcopy나 robocopy를 놔두고 copy를 쓸 이유는 더이상 없다.

xcopy

copy와 달리 폴더도 처리가능하며 그 외에도 기능집합이 풍부하여 널리 쓰인다. 기능이 매우 많으므로 그 중 몇 가지만 골라 살펴보자.

재귀적 복사

우선 예제용으로 디렉터리 트리를 하나 만든다.

c:>mkdir abcd

이 디렉터리 트리를 고스란히 복사하려면 /S 또는 /E 옵션을 쓴다. 두 옵션의 차이점은 다음과 같다.

  • /S : 재귀 복사를 한다. 이때 빈 폴더는 복사하지 않는다.
  • /E : 재귀 복사를 한다. 빈 폴더도 복사한다.

우리가 만든 디렉터리 트리를 고스란히 복사하려면 /E 옵션을 사용해야 한다. 실제로 /E 옵션을 사용해 abcd 디렉터리 트리를 복사하면 다음과 같은 결과가 나온다.

c:>xcopy /E a a1
0 File(s) copied

c:>dir /s a1
 Volume in drive C has no label.
 Volume Serial Number is 1600-5A96

 Directory of c:a1

2009-08-12  오후 03:12    <DIR>          .
2009-08-12  오후 03:12    <DIR>          ..
2009-08-12  오후 03:12    <DIR>          b
               0 File(s)              0 bytes

 Directory of c:a1b

2009-08-12  오후 03:12    <DIR>          .
2009-08-12  오후 03:12    <DIR>          ..
2009-08-12  오후 03:12    <DIR>          c
               0 File(s)              0 bytes

 Directory of c:a1bc

2009-08-12  오후 03:12    <DIR>          .
2009-08-12  오후 03:12    <DIR>          ..
2009-08-12  오후 03:04    <DIR>          d
               0 File(s)              0 bytes

 Directory of c:a1bcd

2009-08-12  오후 03:04    <DIR>          .
2009-08-12  오후 03:04    <DIR>          ..
               0 File(s)              0 bytes

     Total Files Listed:
               0 File(s)              0 bytes
              11 Dir(s)  90,202,824,704 bytes free
특정 날짜 이후에 변경된 것만 복사하기

차등 백업을 구현하고플 때도 xcopy가 도움이 된다.

xcopy myfolder mybackup /E /d:06-01-2003

/d 옵션에 날짜를 지정하면, 그 날짜 이후에 변경된 파일만 골라 복사한다.

robocopy

robocopy가 xcopy보다 나은 점은 다음과 같다.

  • 네트워크 드라이브에서 복사할 때 오류를 더 잘 견딘다. xcopy는 한번 오류가 나면 실패처리하고 끝난다. 그에 반해 robocopy는 재시도 기능이 있으며 네트워크 연결이 복구되었을 때 실패한 지점부터 다시 파일을 복사한다.
  • 복사할 파일 개수가 많을 때 xcopy는 충돌이 나지만 robocopy는 그렇지 않다.

그 외에 여러 장점이 있지만 핵심적인 장점은 위와 같다. 더 자세히 알고 싶다면 Robocopy를 참고한다.

최 재훈

블로그, 페이스북, 트위터 고성능 서버 엔진, 데이터베이스, 지속적인 통합 등 다양한 주제에 관심이 많다.
Close Menu