2013-09-23 69 views
0

您好我一直在使用的Robocopy備份文件,現在我需要做這樣的事情批處理文件跳過複製當前datewise文件夾/搜索父文件夾

「ROBOCOPY [d:\ test1的\ 21-09 -2013 \ sample.txt] [destination]「

這裏我有很多文件夾作爲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中使用監視器使用此 – user2546359

+0

'監視器'是什麼意思? – Endoro

+0

這是一個來自Robocopy的複製選項(它監視源目錄並在檢測到源中某些更改後進行復制) I檢查並發現該複製與第一個文件夾掛起,並且表示正在等待發生更改在同一個文件夾中。 我真正想要的是,它應該從所有父目錄(test1,test2,.. testn)複製可用(當前日期)的文件夾,然後它應該監視並再次運行更改。 另外我不能運行這個,如果我安排在Windows任務調度程序中。請求進一步的幫助.... – user2546359

0

這可以在XP運行Pro和更高:

@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" 
) 
相關問題