可以試試使用 Robocopy 的 /maxage 選項,限制複製的檔案產生於於一天之內
<pre class="c" name="code">D:\>robocopy w:\backup d:\upload *.aaa /maxage:1
以 DOS 有限的指令功能要去依照檔名進行日期的判斷不容易達成.
個人建議以檔案的建立日期屬性著手,
可以用 forfiles 去完成,
延伸參考:
請問如何用指令依建立日期刪除資料夾?
http://ithelp.ithome.com.tw/question/10062547
微軟官方使用說明:
http://technet.microsoft.com/en-us/library/cc753551%28WS.10%29.aspx
為什麼不考慮免費的檔案備份軟體?
真的是在DOS下嗎?
不然市面上一堆備份軟體都做的到吧
檔案不同也沒關係,反正有增量備份
不然就備資料夾
以下是我們公司帳務人員使用的, 我把它改成符合您的需求了, 試試看吧~
XP以上的環境才可以, 印象中 2k 好像就沒有支援 For /f 的樣式..
<pre class="c" name="code">
:Creat_Login
For /F "tokens=1-3 delims=/ " %%a in ('Date /t') do (Set Date=%%b%%c%%a)
Echo open 192.168.97.201 > login.txt
Echo username>> login.txt
Echo userpawd>> login.txt
Echo put aa%date%.aaa >> login.txt
Echo quit >> login.txt
:Start_Download
Ftp -s:Login.txt
Del Login.txt
是要這樣嗎...
<pre class="c" name="code">
copy "D:\aa%date:~5,2%%date:~8,2%%date:~0,4%.aaa" E:
您好:您寫的這行指令,看起來很像是我要的,但是我有照來試run,好像不行
我的檔名和你有一點點差是是 日月年排序,不是年月日排序,.aaa的前面會多二個數字 10
如下面的範例
來源端路徑 W:\備份\sd1803201110.aaa
目的端 d:\upload
我希望每天排從來源端copy當天日期的檔案到 d:\upload,
我的檔案都是當天清晨產生的,如果用檔案建立日期會不會好下條件?
要如何下呢?
謝謝您的幫忙
2bears 說:
來源端路徑 W:\備份\sd1803201110.aaa
目的端 d:\upload
照calvinkuo大大的 把位址調一下就可以了
copy W:\備份\sd%date:~8,2%%date:~5,2%%date:~0,4%10.aaa d:\upload