편하게 살자

xcopy howto

mulderu 2010. 6. 19. 12:24
우리의 알음다운 정보를 가끔씩은 백업해 두자...
그러자면.. 아래의 xcopy 에게 그일을 넘겨주는것도 괜춘한 방법입니다....
unix의 cp 나 tar 같은 기능이 있으면 더 좋을텐데, 그나마 이거라도 잘 써봅시다.


아무생각 없이 가장 간단히... G drive 의 모든 내용을 현재 위치 이하로 카피시키는 명령어

xcopy g: . /s /e /y /h


좀더 세밀히 옵션주실려면
xcopy 원본드라이버 및 폴더 Copy될드라이버 및 폴더 /s/k/e/c/h/r/y 
#### 예 #### 
c:data 
d:backup 
위 폴더가 있다면 

xcopy c:data d:backup /s/k/e/c/h/r/y 
xcopy가 사용하는 옵션 
  /s 디렉터리와 하위 디렉터리를 복사하며, 빈 디렉터리는 제외
  /k 속성복사
  /e 디렉터리와 하위 디렉터리를 복사하며, 빈 디렉터리도 포함
  /c 오류를 무시하고 복사
  /h 숨겨진 파일과 시스템 파일도 복사
  /r 읽기 전용 파일을 덮어쓴다 
  /y 확인 메시지를 표시하지 않고 기존 파일을 덮어쓴다





아래의 내용까지 보시는 분은 ... 대~박!!!


from : 

http://poongak.egloos.com/6215644

구문

xcopy source [destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/d[:date]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [/a|/m] [/n] [/exclude:filename] [/y | /-y] [/z]

매개 변수

Source
필수입니다. 복사할 파일의 위치와 이름을 지정합니다. 이 매개 변수에는 드라이브나 경로가 반드시 포함되어야 합니다.
Destination
복사할 파일의 대상을 지정합니다. 이 매개 변수는 드라이브 문자, 콜론, 디렉터리 이름, 파일 이름 또는 이들의 조합을 포함할 수 있습니다.
/w
파일을 복사하기 전에 다음과 같은 메시지를 표시하고 사용자의 응답을 기다립니다. 파일을 복사할 준비가 되었으면 아무 키나 누르십시오.
/p
각 대상 파일을 작성할지 확인하는 프롬프트를 표시합니다.
/c
오류를 무시합니다.
/v
대상 파일로 쓸 때 각 파일이 원본 파일과 동일한 지 확인합니다.
/q
xcopy 메시지가 표시되지 않게 합니다.
/f
복사하는 동안 원본 및 대상 파일 이름을 표시합니다.
/l
복사할 파일 목록을 표시합니다.
/g
암호를 해독한 대상 파일을 만듭니다.
/d[:mm-dd-yyyy]
지정된 날짜나 그 이후에 변경된 파일만 복사합니다. mm-dd-yyyy 값을 포함하지 않으면 xcopy가 기존 Destination 파일 이후 날짜로 된 Source 파일은 모두 복사합니다. 이 명령줄 옵션을 사용하면 변경된 파일을 업데이트할 수 있습니다.
/u
destination에 있는 source 파일만 복사합니다.

/i
source가 디렉터리이거나 와일드 카드를 포함하고 있고 destination이 존재하지 않으면 xcopy는 destination이 디렉터리 이름을 지정한다고 가정하여 새 디렉터리를 만든 다음 지정된 모든 파일을 새 디렉터리로 복사합니다. 그런 다음, xcopy는 모든 지정된 파일을 새 디렉터리에 복사합니다. 기본적으로 xcopy는 Destination이 파일인지 디렉터리인지 지정하라는 프롬프트를 표시합니다.
/s
디렉터리와 하위 디렉터리가 비어있지 않은 경우 모두 복사합니다. /s를 생략하면 xcopy는 단일 디렉터리 내에서 작동합니다.
/e
하위 디렉터리가 비어있는 경우에도 모두 복사합니다. /e를 /s 및 /t 명령줄 옵션과 함께 사용합니다.
/t
파일을 제외하고 하위 디렉터리 구조(트리)만 복사합니다. 빈 디렉터리를 복사하려면 /e 명령줄 옵션을 포함해야 합니다.
/k
파일을 복사하고, 원본 파일이 읽기 전용 속성이면 대상 파일에서도 이 속성을 유지합니다. 기본적으로xcopy는 읽기 전용 속성을 제거합니다.
/r
읽기 전용 파일을 복사합니다.
/h
숨김이나 시스템 파일 속성의 파일을 복사합니다. 기본적으로 xcopy 명령은 숨겨진 파일이나 시스템 파일을 복사하지 않습니다.
/a
기록 파일 속성이 설정되어 있는 원본 파일만 복사합니다. /a는 원본 파일의 기록 파일 속성을 변경하지 않습니다. attrib을 사용하여 기록 파일 속성을 설정하는 방법을 보려면 관련 항목을 참조하십시오.
/m
기록 파일 속성이 설정되어 있는 원본 파일을 복사합니다. /a 스위치와 달리 /m 스위치는 원본에 지정된 파일에서 기록 파일 속성을 해제합니다. attrib을 사용하여 기록 파일 속성을 설정하는 방법을 보려면 관련 항목을 참조하십시오.
/n
NTFS 짧은 파일 이름이나 디렉터리 이름을 사용하여 복사본을 만듭니다. /n은 NTFS 볼륨에서 FAT 볼륨으로 파일이나 디렉터리를 복사하거나 대상 파일 시스템에 FAT 파일 시스템 명명 규칙(즉, 8.3 문자)이 요구될 때 필요합니다. 대상 파일 시스템은 FAT나 NTFS가 될 수 있습니다.
/o
파일 소유권과 DACL(Discretionary Access Control list) 정보를 복사합니다.
/x
파일 감사 설정 및 SACL(system access control list ) 정보를 복사합니다. /o를 참조하십시오.
/exclude:filename1[+[filename2]][+[filename3]]
문자열이 있는 파일 목록을 지정합니다.
/y
기존 대상 파일을 덮어쓸지 확인하는 메시지를 표시하지 않게 합니다.
/-y
기존 대상 파일을 덮어쓸지 확인하는 메시지를 표시하게 합니다.
/z
네트워크를 통해 재시작 가능한 모드로 복사합니다.
/?
명령 프롬프트에서 도움말을 표시합니다.

예제

A 드라이브에서 B 드라이브로 모든 파일과 하위 디렉터리(빈 디렉터리 포함)를 복사하려면 다음과 같이 입력합니다.
xcopy a: b: /s /e
위의 예에서 모든 시스템 파일이나 숨김 파일을 포함하려면 다음과 같이 /h 명령줄 옵션을 추가합니다.
xcopy a: b: /s /e /h
\Reports 디렉터리의 파일을 1993년 12월 29일 이후에 변경된 \Rawdata 디렉터리의 파일로 업데이트하려면 다음과 같이 입력합니다.
xcopy \rawdata \reports /d:12-29-1993
위의 예에서 날짜에 상관 없이 \Reports에 있는 모든 파일을 업데이트하려면 다음과 같이 입력합니다.
xcopy \rawdata \reports /u
위의 명령에서 실제로 파일을 복사하지 않고 복사할 파일의 목록만 얻으려면 다음과 같이 입력합니다.
xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out
Xcopy.out 파일에 복사할 모든 파일의 목록이 작성됩니다.
\Customer 디렉터리와 모든 하위 디렉터리를 H: 네트워크 드라이브의 \\Public\Address 디렉터리에 복사하고 읽기 전용 속성을 유지하면서 H:에 새 파일을 만들 때 프롬프트를 표시하려면 다음과 같이 입력합니다.
xcopy \customer h:\public\address /s /e /k /p
이전 명령을 실행하려면, \Address 디렉터리가 없는 경우 xcopy가 \Address 디렉터리를 만들었는지 확인하고 새 디렉터리를 만들 때 나타나는 메시지를 표시하지 않게 하며 /i 명령줄 옵션을 다음과 같이 추가합니다.
xcopy \customer h:\public\address /s /e /k /p /i
배치 프로그램을 만들어 xcopy 작업을 수행하고 오류가 발생하면 if 배치 명령을 사용하여 종료 코드를 처리할 수 있습니다. 예를 들어, 다음의 배치 프로그램은 xcopy 원본과 대상 매개 변수로 대체 가능한 매개 변수를 사용합니다.
@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination
rem drive or directory (%2)

xcopy %1 %2 /s /e

if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit



:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit

:abort
echo You pressed CTRL+C to end the copy operation.
goto exit

:exit
이 배치 프로그램을 사용하여 C:\Prgmcode 디렉터리와 하위 디렉터리의 모든 파일을 B 드라이브로 복사하려면 다음과 같이 입력합니다.
copyit c:\prgmcode b:
명령 인터프리터는 C:\Prgmcode을 %1로 바꾸고 B:를 %2로 바꾼 다음, /e 및 /s 명령줄 옵션과 함께 xcopy를 사용합니다. xcopy에서 오류가 발생하면 배치 프로그램에서 종료 코드를 읽고 해당하는 IF ERRORLEVEL 문을 가리키는 레이블로 이동한 다음 해당 메시지를 표시하고 배치 프로그램을 종료합니다.