通過windows計劃任務和Dos批處理備份檔案

來源:互聯網
上載者:User

標籤:logo   檔案名稱   enabled   目錄   art   col   led   style   bak   

目的:

1.計劃每天每半小時備份1次,每天8點開始,執行12小時,20點結束。

2.定期刪除曆史備份檔案,由於每天有多個時間段備份,刪除前只保留當天最後一個備份。

 

說明:

由於刪除的操作只有每天第一次執行時才真正起作用,可將以下命令拆分成兩個計劃任務分別執行,當然也可一起執行。可具體根據執行的效率定奪。

 

實施:

1.將以下代碼儲存為back.bat,修改源檔案路徑和備份目錄

@echo offrem 備份指定目錄下的檔案set "Ymd=%date:~,4%-%date:~5,2%-%date:~8,2%"set "Sfm=%time:~,2%%time:~3,2%"rem 備份後的路徑為C:\backup\2017-09-07\1430.bak。echo f | xcopy "源檔案路徑" "C:\backup\%Ymd%\%Sfm%.bak" >nul 2>nulrem 刪除指定路徑下指定天數之前(以檔案名稱中包含的日期文字為準比如:2009-12-25)的檔案。rem 指定待刪除檔案的存放路徑set SrcDir=C:\backuprem 指定天數set DaysAgo=5>>"%temp%/DstDate.vbs" echo LastDate=date()-%DaysAgo%>>"%temp%/DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)>>"%temp%/DstDate.vbs" echo wscript.echo FmtDatefor /f %%a in (‘cscript /nologo "%temp%/DstDate.vbs"‘) do (    set "DstDate=%%a")set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%setlocal enabledelayedexpansionfor /f "delims=" %%a in (‘dir /b/s/ad "%SrcDir%"‘) do (    set "FileDate=%%~na"    if "!FileDate!" leq "%DstDate%" (        if exist "%%a" (            rem 刪除之前將最後一個檔案備份到曆史檔案夾中            move "%%a\2000.bak" "C:\backup\history\!FileDate!.bak"            rd /s /q "%%a"        )    ))endlocal:: exit

 2.設定windows計劃任務,具體可參考http://blog.csdn.net/woshixuye/article/details/18050769

通過windows計劃任務和Dos批處理備份檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.