6월 2일

RushBsite·2021년 6월 2일
0

TIL

목록 보기
8/18
post-thumbnail

robocopy 를 이용한 파일 복사&일치화


robocopy 란?

xcopy의 진화된 버전, 디렉터리를 미러링하거나 동기화 하는데 사용된다.
/MIR 옵션이 핵심인데, [복사해야될 내용]  [복사한 내용] 으로 지정하면, 이미 저장되어 있는 파일 목록을 검사한 후, 원본에 없는 파일/디렉터리를 제외하는 형식으로 동일하게 미러링 된다.

robocopy의 장점

  • 많은 양의 파일 복사 가능
  • 복사 멀티스레딩 가능 (/MT 옵션)
  • 속성,소유자 정보, 날짜, 권한등 파일 익스플로러로 불가능한 수정·복사가 가능
  • log 파일로 진행 내역, 리디렉션 가능

사용법

robocopy [original_dir] [target_dir] [option]

주요 사용 옵션

/E : 비어 있는 디렉터리를 포함하여 하위 디렉터리를 복사합니다.
/PURGE : 원본에 없는 대상 파일/디렉터리를 삭제합니다.
/COPYALL : 모든 파일 정보를 복사합니다. /COPY:DATSOU와 동일합니다.
/MIR : 디렉터리 트리를 미러링합니다. /E + /PURGE와 동일합니다.
/MAXAGE :n: 최대 파일 사용 기간 - n일/날짜보다 오래된 파일을 제외합니다.
/MINAGE :n: 최소 파일 사용 기간 - n일/날짜보다 최신 파일을 제외합니다.
/XJ : 연결 지점을 제외합니다. 일반적으로 기본값으로 포함됩니다.(무한루프 방지용)
/LOG :file: 상태를 로그 파일에 출력합니다. 기존 로그를 덮어씁니다.
/LOG+ :file: 상태를 로그 파일에 출력합니다. 기존 로그에 추가합니다.

robocopy 의 옵션들을 응용하면 엑세스 권한 문제로 백업이 힘든 내부 프로그램, 패치파일 등도 구조와 권한을 유지하면서 쉽게 통째로 복사 가능하다.

참고사항

pc를 포멧하게 된 김에, 메인 ssd 를 파티션하여 os를 C, 메인 프로그램을 F로 나눠 저장해 관리하려고 했다.

원래 window에서 기본으로 제공하는 '문서','비디오','사진','다운로드' 는 '다른 드라이브에 저장하기' 기능이 있어서 상관 없었는데, 이번에는 포멧한김에 Program FilesUsers 파일 까지 F로 옮기는 방법이 있을까 하여 시도해 보았다.

결론만 말하자면, 아래 3가지 방법은 모두 실패했다..

    1. registry 변경설정에서(regedit) Program dir 항목 변경하기
      -> 윈도우 디펜더이동불가, ie 오류, 사용자 설정 못찾음
    2. robocopy로 C의 디렉토리를 F로 미러링 한 뒤, C의 디렉토리 삭제하고 F의 파일과 심볼릭 링크(mklink사용)으로 연결
      -> 우선 Users나 Program files를 robocopy 하는 것 부터 고난인데, PE모드로 들어가 명령프롬프트로 실행시키면 error 112(용량부족,이유불명..) 이 난다.
      해결법은 Administrator 계정으로 powershell 상에서 실행시키는 것으로 robocopy 까지는 잘된다.
      이상태로 rdmklink는 엑세스 거부로 안되서 다시 PE로 들어가 명령어를 전부 실행하니 window가 무한 준비중상태로 시작이 안된다... 결국 실패..
    3. Administrator 계정으로 로그인해서 regedit의 ProfileImagePath 값이 'C:\Users\사용자명' 인것을 찾아 전부 새 경로(F)로 바꾸기
      -> 이번엔 되는것 같았으나 onedrive와 윈도우 디펜더가 말썽이였다. 일시적으로 된 것 처럼 보이지만 onddrive 동기화나 윈도우 업데이트시 사용자 계정을 못찾고 임시 프로필로 로그인된다.

위 문제들이 내가 Windows 10 Edu 버전을 사용해서 발생하는 문제인지는 확인 하지 못 했다.
인터넷에 위 방법들로 해결봤다는 글이 몇개 있었는데, 주로 윈도우 8이하 환경에서 진행된 방법이고 사후 업데이트나 어플리케이션 사용시 문제가 없다는 확신까지는 없는 것 같아 그냥 현 상태로 만족하기로 했다..

윈도우 설치만 6번넘게 한 것같다. 그냥 BIOS 업글했다 생각하자..

profile
게임 기획/개발 지망생

0개의 댓글