윈도우 실행 명령어를 통한 네트워크 폴더에 파일을 복사하는 방법에 대한 부분 입니다.
xcopy 사용 옵션
- /s: 비어 있지 않은 하위 디렉터리와 파일들을 복사합니다. 이 옵션이 없다면, XCOPY는 기본적으로 하위 디렉터리를 복사하지 않습니다.
- /y: 사용자에게 덮어쓰기 확인을 묻지 않고 파일을 자동으로 덮어씁니다. 원래 파일이 있을 때 덮어쓸지 물어보는 창이 뜨는데, 이 옵션을 사용하면 그 확인 과정을 생략합니다.
- /c: 오류가 발생해도 복사를 계속합니다. 예를 들어 특정 파일에서 문제가 발생하더라도 중단되지 않고 나머지 파일들을 복사합니다.
- /m: 아카이브 속성이 설정된 파일만 복사합니다. 파일이 복사된 후 아카이브 속성은 해제됩니다. 이 속성은 백업이나 이전 복사 이후 변경된 파일을 의미하며, XCOPY /m는 주로 변경된 파일만 복사하고자 할 때 유용합니다.
- /e: 비어 있는 하위 디렉터리를 포함하여 모든 디렉터리를 복사합니다. 기본적으로 /s는 비어 있지 않은 하위 디렉터리만 복사하는데, /e를 함께 사용하면 비어 있는 디렉터리도 포함하여 복사됩니다. 하위 디렉터리 전체를 그대로 유지하고 싶을 때 유용합니다.
- /i: 대상 경로가 디렉터리인지 파일인지 묻지 않고, 대상이 디렉터리로 간주되도록 합니다. 보통 파일을 복사할 때 목적지가 디렉터리인지 파일인지 명확하지 않을 경우, XCOPY는 사용자에게 확인을 요청합니다. 하지만 이 옵션을 사용하면 묻지 않고 목적지를 디렉터리로 가정합니다.
배치파일 명령어
@echo off
chcp 65001 >nul
set SOURCE1=D:\Source\data
set DESTINATION1=\\xxx.xxx.xxx.xxx\backupSource\data
set SOURCE2=D:\Source\wwwroot\Web.config
set DESTINATION2=\\xxx.xxx.xxx.xxx\backupSource\WebConfig
set LOGFILE=%~dp0copy_log.txt
echo 시작 >> %LOGFILE%
echo %date% %time% >> %LOGFILE%
REM 파일 및 폴더를 복사
xcopy "%SOURCE1%\*" "%DESTINATION1%\" /E /C /I /Y /M >> %LOGFILE% 2>&1
REM Web.config 파일을 복사
xcopy "%SOURCE2%*" "%DESTINATION2%\Web.config" /I /Y >> %LOGFILE% 2>&1
위 명령을 통해서 서버에서 필요한 리소스를 백업할 때 유용하게 사용할 수 있습니다.
감사합니다.