2013-06-09 5 views
0

다음은 내가하고 싶은 일입니다. 단일 파티션의 모든 파일을 검사하여 현재 수정되거나 생성 된 파일이 있는지 여부를 확인하는 "박쥐"파일을 작성하고 싶습니다. 있다면, 나는이 파일을 폴더에 복사 할 것이다. 따라서 사무실을 떠나기 전에 매일이 박쥐를 사용하면 단일 폴더에서 사용한 모든 파일을 백업 할 수 있습니다. 이제는 파일 대신 폴더를 복사하고 때로는 작동하지 않는 ... 박쥐 파일을 디버깅 할 수 있습니까? C/D와 같은 루트 디렉토리에 복사 한 다음 d :/test를 "테스트 할 대상 폴더로 변경하십시오.박쥐 파일 디버그 "사용 된 파일 백업"

다음 코드는 현재

입니다.
@echo off 
set t=%date% 
set t=%t:~0,10% 
echo %t% 
setlocal ENABLEDELAYEDEXPANSION 
for /f "tokens=*" %%i in ('dir /b /a-d') do (
set d=%%~ti 
set d=!d:~0,10! 
echo !d! 
if "!d!"=="%t%" (if not "%~nx0"=="%%i" copy "%%i" d:\test)) 
for /f "tokens=*" %%j in ('dir /b /ad') do (
set d=%%~tj 
set d=!d:~0,10! 
echo !d! 
if "!d!"=="%t%" (echo d|xcopy /e /y "%%j" d:\test\%%j)) 
+1

현지 날짜 형식을 제공해야합니다. 이'echo d | xcopy'는 무엇을해야합니까? – Endoro

답변

0

그냥 robocopy을 사용할 수 C의 모든 파일을 복사합니다이 줄 : D에 \ 소스와 마지막 날에 수정 된 하위 폴더, :. \ 테스트 물론

robocopy c:\source d:\test *.* /s /maxage:1 

을 언젠가는 그것을 실행하는 것을 잊어 버리면 그날 만진 파일을 놓칠 것입니다. 그래서 이것이 정말로 바에 대한 것이라면 ckups, 더 나은 접근 방식은 아카이브 비트를 사용하는 것입니다.

robocopy c:\source d:\test *.* /s /m 

파일을 만들거나 편집하면 Windows에서 보관 비트를 지 웁니다. /m 스위치가있는 robocopy 스위치는 보관 비트가 설정된 파일 (스크립트를 마지막으로 실행 한 이후 변경된 파일 만 의미)을 복사 한 다음 보관 비트를 설정합니다.

+0

와우, 정말 고마워요! –

+0

http://www.matrix44.net/blog/?p=1355 –

+0

안녕하세요. 귀하의 질문에 답변이 되었으면 수락으로 표시하십시오. –