2010-03-04 12:09:00享利技術網

只備分今天產生出來的檔案

  1. 方法一
給你一個 Sample,請你自己改成你需要的 :D@echo off  
  1. setlocal EnableDelayedExpansion  
  2. set Today="%DATE:~0,10%"  
  3. for /F %%I in ( 'dir *.bat /b' ) do (  
  4.     set DT="%%~tI"  
  5.     set FDT=!DT:~1,10!  
  6.     if "!FDT!"==%Today% (  
  7.         echo "%%~I"   
  8.     ) else (  
  9.         echo wrong  
  10.     )  
  11. )  
  12. endlocal  
2010-03-03 17:09:50補充第三行是抓取今天日期,不含星期幾,你可以執行 echo %DATE:~0,10% ,就會知道它會抓下什麼東西

第四行是以 for 迴圈讀取特定檔名的檔案,如果你不需指定檔名,就改成 dir *.* /b

第五行,則是讀取 for 迴圈傳來的檔名的日期+時間屬性

第六行,擷取檔案的日期屬性

第七行,判斷如果今天日期跟檔案日期屬性相同,就做第八行,如果日期不同,就做第十行。



2.方法二
Windows就有現成命令可以滿足需求:
XCOPY(以下節錄自xcopy說明)
  1. XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]  
  2.                            [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]  
  3.                            [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]\r\r  
  4.                            [/EXCLUDE:file1[+file2][+file3]...]  
  5.   
  6.   source       指定要複製的檔案。  
  7.   destination  指定位置或者/以及新檔案的名稱。  
  8.   /A           只複製設定成保存屬性的檔案,不要改變屬性的設定。  
  9.   /M           只複製設定成保存屬性的檔案,並清除保存屬性。  
  10.   /D:m-d-y     複製在指定日期當天或之後發生變更的檔案。如果沒有給日期,  
  11.                只複製那些來源檔案日期比目的檔案日期為新的檔案。  


xcopy /A /M /D:m-d-y 這三個屬性就能組合成許多備份機制。