XCOPY를 사용하여 백업 후 복사한 내용을 LOG처럼 TEXT로 남기는 중입니다.
하지만 지속적으로 일정한 간격 마다 백업을 진행하면 TEXT FILE에는 최근 복사 된 내용만 남아 이전에 있던 내용은 사라져서 덮어 쓰지 않고 추가하는 방법을 모르겠네요..
●8/8일 백업하여 LOG A 가 저장이 되었다면, 8/9일 백업한 내용은 LOG B로 저장하는 방법
●8/8일 백업하여 LOG A가 저장이 된 상태에서, 8/9일 백업한 내용을 LOG A에 추가로 저장하는 방법
위의 두 가지 방법 중 가능한 것 또는 알고 계신 더 좋은 방법이 있으시다면 답변 부탁 드립니다.
현재는 아래와 같은 형식으로 사용중에 있습니다.
@ECHO OFF
XCOPY C: D: /D /E /H /K /Y /C /S /F >D:LOG.txt 2<&1
해당 질문의 문제를 해결, 도움이 되는 선택된 답변이 있습니다.
작성된 다른 답변도 확인해 보시기 바랍니다..
5개의 답변이 있습니다.
xcopy보다 robocopy를 이용하세요.
xcopy 확장버전이라고 생각하시면 됩니다.
윈도우7부터 기본 프로그램으로 제공됩니다.
AprilFirst | 4년 이상 전
저도 다른 분들 말씀대로 날짜별 (%date%) 로그를 남기는 게 낫지 않을까 싶네요
저희 회사에서도 로그 파일명을 날짜별로 하고 있어요
AprilFirst | 4년 이상 전
리다이렉션(redirection)이라고 부르죠.
표준 입출력(Standard input/output)을 사용자 지정 경로로 변경 시키는 방법이 되겠는데...
기원이 UNIX에서 부터되어, DOS (Window CMD) 및 LINUX, MacOS X 등에서 모두 지원되는 기능이고요.
출력을 변경할 때는 > 와 >>, 2> 을 사용할 수 있고, 입력은 < 을 사용할 수 있고요.
> 한개만 사용할 경우에는 output 형태로 열어 출력 시키기 때문에 기존 파일을 지워 버리고 새로 생성하게 되죠.
>> 두개일 경우에는 append 형태로 열어 출력 하기 때문에 기존 파일이 있다면 뒤에다 추가하여 덧붙이게 되고...
2> 와 같이 사용할 경우에 표준 오류에 대한 출력을 변경할때 사용할 수 있고요.
표준 출력과 표준 오류 모두 변경 시킬 경우라면 >와 2> 모두 한꺼번에 사용하면 되겠고...
질문하신 내용의 간단한 해결 방법은 > 대신에 >>를 사용하면 되겠네요.
출력 로그명에 %DATE% 와 같은 환경 변수를 사용한다면 일자별로 로그를 생성해서 일자별 로그를 관리할 수 있다는 장점이 있고요.
이 질문은 xcopy 질문이라기 보다는 OS에 관련된 질문이라 할 수 있겠네요.
AprilFirst | 4년 이상 전
CMD 라면 %date% 변수를 활용할 수도 있을 것 같아요
XCOPY C: D: /D /E /H /K /Y /C /S /F >> D:LOG_%date%.txt 2<&1
%date%는 오늘 날짜를 보여주는 환경변수입니다.
AprilFirst | 4년 이상 전
안녕하세요 :) 말씀하신 내용 두번째의 추가로 저장하는 방법이 좋을것 같습니다.
XCOPY C: D: /D /E /H /K /Y /C /S /F >D:LOG.txt 2<&1
> 부등호가 한개면 파일 교체
>> 부등호가 두개면 내용 추가 입니다.
AprilFirst | 4년 이상 전