2013-09-23 2 views
0

안녕 백업 파일에있는 Robocopy를 사용하고 지금은이배치 파일은 상위 폴더

"ROBOCOPY [D 같은 것을 할 필요를 검색/건너 뛰어 현재 datewise 폴더를 복사하는 방법 -2013 \ sample.txt] [대상] "

여기에 나는 Test1, test2, ... testn과 같은 많은 폴더를 가지고있다. 모든 테스트 폴더 아래에 날짜 현명한 폴더가 있습니다.

내 질문입니다 내가 테스트를 건너 뛰도록 배치 파일을 만들 수 있습니다 만 현재 날짜 즉과 폴더를 복사하는 방법이

"ROBOCOPY [같은 D : \ * \ 21-09-2013 \의 Sample.txt ] [대상] "

현재 날짜가 복사 된 모든 폴더를 가져와야합니다.

답변

0

날짜 형식을 가정 할 dd/mm/yyyy이 시도 : 정보 주셔서

@ECHO OFF &SETLOCAL 
set "mydate=%date:/=-%" 
for /d %%a in (D:\test*) do (
    if exist "%%~a\%mydate%\" (
     robocopy "%%~a\%mydate%" "X:\path\to\destination\folder" 
    ) 
) 
+1

안녕 주셔서 감사합니다. Robocopy에서 Monitor를 사용할 수 있습니까? – user2546359

+0

무엇이 '모니터'입니까? – Endoro

+0

Robocopy의 복사 옵션입니다 (소스 디렉토리에서 일부 변경 사항을 감지 한 후 사본을 복사 함) 첫 번째 폴더에서 첫 번째 폴더와 함께 복사가 중단되고 변경 사항이 발생하기를 기다리고 있습니다 동일한 폴더에 있습니다. 내가 정확히 원하는 것은 모든 상위 디렉토리 (test1, test2, .. testn)에서 사용 가능한 (현재 날짜가 지정된) 폴더를 복사 한 다음 변경 사항을 모니터링하고 다시 실행해야합니다. 또한 Windows 작업 스케줄러에서이 일정을 예약하면 실행할 수 없습니다. 추가 도움 요청 .... – user2546359

0

이 XP에서 작동 할 수 프로 이상 :

@echo off 
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set "dt=%%a" 
set "YY=%dt:~2,2%" 
set "YYYY=%dt:~0,4%" 
set "MM=%dt:~4,2%" 
set "DD=%dt:~6,2%" 
set "HH=%dt:~8,2%" 
set "Min=%dt:~10,2%" 
set "Sec=%dt:~12,2%" 

set "datestamp=%DD%-%MM%-%YYYY%" 

for /d /r "d:\" %%a in (*) do (
if "%%~nxa"=="%datestamp%" robocopy "%%a" "destination" 
)