成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 用批處理實現(xiàn)文件備份器V2.3

用批處理實現(xiàn)文件備份器V2.3

熱門標簽:廣州云外呼系統(tǒng)公司 百應ai電話機器人銷售怎么樣 谷歌地圖標注時間 中國地圖標注省份顏色 地圖標注銷售數據 地圖標注位置有用嗎 岳陽縣地圖標注app 云南旅游地圖標注app 好的人工智能電話機器人
復制代碼 代碼如下:

@echo off
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::    文件備份器V2.3(for WinXP only)  Code by JM  2006-11-4 QQ:13132002
::    出處:http://www.cn-dos.net/forum/viewthread.php?tid=20747
::
::  功能:1、自由指定要備份的目錄(或文件)、位置、備份時間和任務名稱
::        2、能檢測輸入是否正確
::        3、能生成備份日志
::        4、能多次添加備份任務
::        5、能批量停止指定的備份任務
::        6、能自動刪除由本程序產生且不再使用的批處理程序和注冊表信息
::        7、能從備份文件中恢復文件到源文件中,并保持各文件的原始屬性不變
::
::  原理:只有當源文件修改時間比目標文件的修改時間新時才更新文件
::
::  要修改或完善的地方:
::
::      ① 統(tǒng)一標記是文件還是文件夾;
::      ② 禁止把文件備份到本文件夾及其子文件夾中去
::
::  更新歷史:
::
:: 06.11.4
::
::           增加了記錄備份文件更新列表的功能,進一步完善日志功能;
::
:: 06.10.19
::
::           因at命令只能以管理員權限運行,此次更新增加了用戶權限的驗證;添加了
::       xcopy的/c參數,使得復制出錯的時候(盡管出現(xiàn)這種情況的幾率非常低),能備份
::       盡可能多的文件;精簡了部分代碼;
::
:: 06.9.14
::
::           對提取文件屬性的代碼做了優(yōu)化,使得生成備份批處理的效率大大提高,
::       感謝pengfei提供代碼;修改了幾處錯誤和疏漏;對代碼進行分塊放置以便日后
::       的維護;此為V2.3
::
::  06.9.3
::
::           由于上次精簡過度,代碼運行會出錯,今天修改了一處致命錯誤,感謝
::       pengfei的測試;增加了一些操作提示和出錯檢測;
::
::  06.8.5
::
::           添加了備份空目錄的參數,精簡了部分代碼;
::  06.8.1
::
::           實現(xiàn)了用同一條命令復制文件和文件夾;修正了幾處錯誤;
::  06.7.29
::
::           精簡了獲取屬性的代碼,感謝willsort提供;
::  06.7.28
::           完善了對備份后的文件進行恢復的操作,使得恢復操作對文件或者文件夾
::       都適用;此為V2.2
::
::  06.7.1
::           完善了對日期的檢測;
::  06.6.29
::           增加了恢復文件的功能;對生成后的文件的屬性進行了調整;此為V2.1;
::  06.6.20
::           對顯示各分區(qū)磁盤剩余空間的代碼進行了修改,只顯示磁盤的剩余空間,
::       而不會畫蛇添足地顯示光盤剩余空間;
::  06.6.15
::           增加了日期和時間輸入錯誤檢測功能(感謝bagpipe提供代碼);
::  06.6.12
::           修改了查詢各分區(qū)剩余空間的代碼,當磁盤卷標名為中文時也能準確排版。
::       感謝willsort作深入分析并提供代碼;當備份任務創(chuàng)建后,能自動打開備份后
::       的文件夾和創(chuàng)建日志,以便查看備份創(chuàng)建結果;徹底刪除無用文件;精簡了部
::       分代碼;
::  06.6.10 
::           修正了一處錯誤;精簡了部分代碼;
::  06.6.9  
::           更改備份日志代碼,將使備份日志體積減少近一半;更改了實現(xiàn)文件名自動
::       完成這一功能的功能鍵(感謝electronixtar的提醒),但需要注冊表中的特定鍵
::       值為默認設置(有關討論請參考http://www.cn-dos.net/forum/viewthread.php?
::       tid=21091fpage=1);
::  06.6.6
::          修改了部分代碼,使得當需要每天備份的功能時,避免了煩瑣的輸入;增加
::      了文件名自動完成的功能(感謝willsort提出設想并提供代碼);此為V1.9;
::  06.6.4  
::          增加了如下功能:當保存?zhèn)浞菸募r,如果要對文件夾進行追加或者覆蓋等
::      操作,可先查看該文件夾下的內容再作決定;補充了備份風險提示;
::  06.6.3  
::          對備份后文件的保存位置這部分代碼進行了修改,使得程序能自動適應備份
::      對象為文件和文件夾兩種情況,使備份后文件夾的目錄結構得到保持,感謝
::      willsort提供代碼;當備份文件即將保存到一個已經存在的目錄下時,增加了允
::      許追加至該目錄的選擇;
::  06.6.2
::          添加和修改了了如下功能:可以選擇在開機時是否自動運行備份任務程序;
::      開始運行本程序或者停止某項備份任務時,自動刪除當前計劃任務中不再使用的
::      備份任務程序,并刪除對應的注冊表鍵值,以減少系統(tǒng)垃圾;更改了備份任務程
::      序的保存位置;去除了盤符小寫轉換為大寫的雞肋代碼;增強了路徑輸入為空時
::      的檢測(感謝willsort提供代碼);修改了幾處錯誤;精簡了部分代碼,此為V1.8;
::  06.5.31    
::          在注冊表中( 位置是:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\
::      CurrentVersion\Run) 增添了開機自動運行備份程序的鍵值( 以備份任務名稱作
::      為鍵值) ,盡可能減少錯過備份的情況;如果更新了內容,則備份完畢后自動打
::      開備份日志;修正了幾處錯誤;此為V1.7;
::  06.5.30    
::          完善了備份流程,在列出創(chuàng)建備份任務的清單時,可更改備份任務內容;在
::      創(chuàng)建備份任務的同時,強制啟動計劃任務服務,并立即作復制操作;顯示各磁盤
::      分區(qū)剩余空間情況的時候,增加了顯示磁盤卷標名的功能;更改了注意事項界面
::      中的前景色和背景色,使色調顯得明快而柔和;
::  06.5.28    
::          增加了在每周的指定日期進行備份的功能;添加了當計劃任務出錯時提交報
::      告的功能;完善了日志記錄功能,只有當文件更新時才會改寫日志;完善了注意
::      事項中的內容;增加了刪除所有計劃任務的功能;此為 V1.6 ;
::  06.5.26    
::          增加了不允許把保存路徑設置為與源文件路徑相同、或者為源文件某一目錄
::      的功能;添加了注意事項提示功能;修正了幾處錯誤;部分代碼參照中國DOS 聯(lián)
::      盟論壇(http://www.cn-dos.net/forum) 網友bagpipe所發(fā)帖子,使一些代碼得
::      到精簡;此為V1.5;
::  06.5.25    
::          增加了把備份文件的保存目錄拖曳到窗口執(zhí)行的功能;增加了批量停止指定
::      備份任務的功能;修改了幾處錯誤;精簡了部分代碼;此為V1.4;
::  06.5.24    
::          增加了把要備份的文件拖曳到窗口執(zhí)行的功能;感謝中國DOS 聯(lián)盟論壇
::      (http://www.cn-dos.net/forum)版主willsort提供代碼;此為V1.3;
::  06.5.23    
::          修正了一處關鍵錯誤,使得備份能順利進行下去;在中國DOS 聯(lián)盟論壇
::      (http://www.cn-dos.net/forum)版主willsort等網友的熱心幫助下,增強了程
::      序輸入錯誤檢測能力,并修正了一些拼寫錯誤,在此深表謝意;
::  06.5.22    
::          修改了顯示各分區(qū)剩余空間的代碼,使顯示界面的框線自動適應剩余空間條
::      目下不同長度的字符;
::  06.5.21    
::          增添了停止指定備份任務的功能,使本程序的功能進一步完善;增添了將備
::      份后的文件設置為" 系統(tǒng)+ 只讀" 屬性的功能,從而在一定程度上提高了備份后
::      的文件的安全;修正了幾處錯誤;優(yōu)化了部分代碼;此為V1.2;
::  06.5.20    
::          頭兩天的算法存在備份不完全的弊端,今天把copy命令更改為xcopy 命令,
::      從而使本程序能夠備份指定目錄下除空目錄之外的所有文件( 包括目錄之下還有
::      子目錄、子目錄內含有文件的文件嵌套) ,并使代碼得到了精簡;頭兩天的代碼
::      生成備份任務批處理的時候,因為自動命名的程序名稱是固定的,如果有不同的
::      備份任務的話,最后一次任務將把上一次的任務刪除,今天把備份任務的命名改
::      為手動指定;增添了多次添加備份任務的功能;此為V1.1;
::  06.5.19    
::          增加了系統(tǒng)檢測功能,使得該程序只能運行于XP操作系統(tǒng)下;編寫輸入錯誤
::      檢測代碼,使輸入錯誤能得到及時更改;統(tǒng)一了交互界面,看上去更加美觀;本
::      來想增加指定每周的某幾天進行備份操作的功能,但是一直未能實現(xiàn),只好暫時
::      放棄,留待下幾個版本解決;優(yōu)化了部分冗余代碼;
::  06.5.18    
::          在對本人電腦上重要資料進行備份的時候,深感手工備份的煩瑣,而網上的
::      備份軟件又有諸多限制,正好本人在自學DOS 批處理編程,于是花了半天的時間
::      來構思本程序的核心功能,編寫初步代碼;此為V1.0;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

rem if not "%1"=="$" %comspec% /f:on /c %0 $  goto :eof 
:: 屏蔽掉上一句,用Tab\Shift+Tab可實現(xiàn)同樣功能
mode con lines=26
title 文件備份器-文件備份器
color 1f
cls

rem   =========檢測系統(tǒng)是否支持本程序=============
:check_system
ver|find "XP">nul || goto system_error

rem   =========檢測當前用戶是否具有管理員權限=============
:check_popedom
net users %username%|findstr /i "\*administrator">nul||goto popedom_error
call :del_nouse

rem    =======輸入要備份文件的路徑并檢測輸入是否正確=======
:input_source
mode con lines=26
cls
color 1f
title 文件備份器-請輸入源文件路徑
echo                               ╭────────╮
echo           ╭─────────┤選擇要備份的文件├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │         本程序能把指定文件在指定時間內備份到指定位     │
echo           │                                                        │
echo           │    置。請把要備份的文件(或文件夾)拖曳至本窗口(推薦     │
echo           │                                                        │
echo           │    做法),或者手工輸入需要備份文件的絕對路徑或相對     │
echo           │                                                        │
echo           │    路徑(請勿輸入非法符號),然后回車確認。              │
echo           │                                                        │
echo           │        自動完成文件名請按Tab\Shift+Tab,可多次選擇。   │
echo           │                                                        │
echo           │        為了不錯誤刪除數據,使用本軟件前請查看注意      │
echo           │                                                        │
echo           │    事項!切記切記! (恢復文件請按 R )                  │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
echo            查看注意事項請按 1                              退出請按 0
echo           ──────────────────────────────
echo                                查看已存在的備份任務請按 2                 
echo.
set source=:
set /p source=           請輸入要備份文件的路徑:
set "source=%source:"=%"
:: 上面這句為判斷%source%中是否存在引號,有則剔除。
if "%source%"==":" goto input_source
if "%source%"=="0" exit
if "%source%"=="1" goto notice
if "%source%"=="2" goto backup_task
if /i "%source%"=="r" goto revert
if not exist "%source%" goto source_noexist
for %%i in ("%source%") do if "%%~fi"=="%%~di\" goto forbid_to_backup
:: 判斷要備份的是文件還是文件夾,為以后的操作設置標志
pushd "%source%">nul 2>nul  (popd  set folder=yes)||(set folder=)
goto input_destination


:backup_task
cls
color 1f
title 文件備份器-已存在的備份任務
echo.
at
echo -------------------------------------------------------------------------------
echo.
echo         ╔══════════════════════════════╗
echo         ║ 如果要停止某個備份任務,請輸入該任務的ID號,然后按回車即可 ║
echo         ║                                                            ║
echo         ║       多個ID號之間用空格分隔,停止所有計劃任務請按 A       ║
echo         ║                                                            ║
echo         ║     退出請按 0 ,返回上一步請按除0、A和ID數字之外的任意鍵  ║
echo         ╚══════════════════════════════╝
echo.
set ID=
set /p ID=           請輸入不再需要的備份任務的ID:
if "%ID%"=="0" exit
if /i "%ID%"=="a" at /delete /yes  (call :del_nouse  goto backup_task)
:: 以下語句的作用是:如果停止了某項備份任務,則檢查硬盤上由本程序生成的bat文件中,
:: 不在at任務列表中的有哪些;如果有,則刪除該bat,同時刪除注冊表中對應的字符串值;
:: 如果沒有,則不作任何刪除操作;
(for %%i in (%ID%) do at %%i /del /yes >nul 2>nul)  (
    call :del_nouse
    goto backup_task
) || goto input_source

rem    =======輸入文件保存路徑并檢測輸入是否正確=======
:input_destination
cls
color 1f
title 文件備份器-請輸入目標文件路徑
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤  選擇保存位置  ├─────────╮
echo           │                  ╰────────╯                  │
echo           │        操作說明:                                      │
echo           │                                                        │
echo           │            請輸入保存位置的絕對路徑或者相對路徑        │
echo           │                                                        │
echo           │        (注意:必須在半角狀態(tài)下輸入冒號和反斜杠;       │
echo           │                                                        │
echo           │        請勿輸入非法的路徑名符號),或者把一個已         │
echo           │                                                        │
echo           │        存在的文件夾拖曳至本窗口,然后回車確認。        │
echo           │                                                        │
echo           │          ╭────────────────╮          │
echo           ╰─────┤  查看各磁盤分區(qū)剩余空間請按 9  ├─────╯
echo                       ╰────────────────╯
echo.
echo            返回上一步請按 1                                退出請按 0
echo           ──────────────────────────────
echo.
set destination=:
set /p destination=           請輸入備份文件的保存路徑:
set "destination=%destination:"=%"
:: 上面這句為判斷%destination%中是否存在引號,有則剔除
if "%destination%"==":" goto input_destination
if "%destination%"=="0" exit
if "%destination%"=="1" goto input_source
if "%destination%"=="9" goto freesize
:: 下面一句針對文件或文件夾取保存位置的文件名
for /d %%i in ("%source%.*") do set destination=%destination%\%%~nxi
for %%i in ("%destination%") do set destination=%%~fi
set subarea=%destination:~0,1%
for %%i in ("%destination%") do if "%%~fi"=="%%~di\" goto forbid_to_build_1
echo "%destination%" | findstr /i /c:"%source%"  goto forbid_to_build_2
if not exist %subarea%:\nul goto subarea_noexist
:: 下面一句取日志名為要備份文件(夾)的文件名
for %%i in ("%source%") do set name_log=%%~ni
if exist "%destination%\%name_log%_log.log" goto whether_add
if exist "%destination%" goto whether_over

:over_write
attrib /s /d -s -h -r "%destination%\*.*">nul 2>nul
rd /q /s "%destination%">nul 2>nul
md "%destination%">nul 2>nul
(echo.
echo                                 備份日志)>"%destination%\%name_log%_log.log"
attrib /s /d +s +r "%destination%\*.*">nul 2>nul

:input_date
cls
color 1f
title 文件備份器-請輸備份入日期
echo                               ╭────────╮
echo           ╭─────────┤ 請輸入備份日期 ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │        1.若在每月的某幾天備份,請輸入從1到31的任意     │
echo           │                                                        │
echo           │    數字,比如1,3,4;若只在每月1號備份,請輸入"1,";   │
echo           │                                                        │
echo           │        2.若在每周的某幾天備份,請輸入星期幾的代碼      │
echo           │                                                        │
echo           │    (M,T,W,Th,F,S,Su);如果指定日期較多,在查看任務     │
echo           │                                                        │
echo           │    列表的時候,日期一欄將用省略號顯示;                │
echo           │                                                        │
echo           │        3.數字與字母不可混用;數字行或字母行首尾均無    │
echo           │                                                        │
echo           │    任何符號,其間用逗號分隔;請嚴格按照本格式填寫!    │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
echo            返回上一步請按 1                                退出請按 0
echo           ──────────────────────────────
echo                                   每天都備份請按 A
echo.
set copydate=
set /p copydate=          請輸入備份日期:
if "%copydate%"=="" goto input_date
if "%copydate%"=="," goto input_date
if "%copydate%"=="0" exit
if "%copydate%"=="1" goto input_destination
if "%copydate%"=="1," goto input_time
if /i "%copydate%"=="a" goto all_date
:: 檢查日期輸入是否正確
set num=0
set char=%copydate%
for /f "tokens=1 delims=," %%i in ("%char%") do (
    echo "%%i"|findstr /i "M T W Th F S Su">nul  goto check_alphabetical_date|| goto check_numerical_date
)

:check_alphabetical_date
call :check_alp
:loop_alp
set char=%char:*,=%
:check_alp
for /f "tokens=1 delims=," %%i in ("%char%") do (
    echo "M T W Th F S Su"|findstr /i "%%i">nul || goto date_error
    echo "%char%"|find ",">nul  goto loop_alp
)
goto input_time

:check_numerical_date
call :check_num
:loop_num
set /a num+=1
set char=%char:*,=%
:check_num
for /f "tokens=1 delims=," %%i in ("%char%") do set input=%%i
if %input% GTR 31 goto date_error
if %num% GTR 30 goto date_error
echo %char%|find ",">nul || if %num% LEQ 30 goto input_time || goto date_error
goto loop_num

:input_time
cls
color 1f
title 文件備份器-請輸入時間
echo.
echo                               ╭────────╮
echo           ╭─────────┤ 請輸入備份時間 ├─────────╮
echo           │                  ╰────────╯                  │
echo           │        操作說明:                                      │
echo           │                                                        │
echo           │            請按格式輸入備份時間,多個時間用空格        │
echo           │                                                        │
echo           │        分隔。該時間用24小時制(既從00:00到23:59)        │
echo           │                                                        │
echo           │        的小時:分鐘格式表示。                           │
echo           │                                                        │
echo           │            例如:想分別在上午8點30分和下午4點進        │
echo           │                                                        │
echo           │        行備份,請在同一行輸入8:30 16:00(注意:兩       │
echo           │                                                        │
echo           │        個時間點之間有一個空格)                         │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
echo            返回上一步請按 1                                退出請按 0
echo           ──────────────────────────────
echo.
set copytime=
set /p copytime=           請輸入備份時間:
if "%copytime%"=="" goto input_time
if "%copytime%"=="0" exit
if "%copytime%"=="1" goto input_date
:: 檢查時間輸入是否正確
for /f "tokens=*" %%i in ("%copytime%") do set char=%%i
call :check_time
set num=0
:back
set /a num+=1
set char=%char:* =%
:check_time
for /f "tokens=1,2 delims=:" %%i in ("%char%") do (
    if %%i GTR 24 goto time_error
    if %%j GTR 60 goto time_error
    echo %char%|find " ">nul || goto input_name
)
goto back

rem    =======輸入備份任務名稱=======
:input_name
cls
color 1f
title 文件備份器-備份任務名稱
echo.
echo                               ╭────────╮
echo           ╭─────────┤  備份任務名稱  ├─────────╮
echo           │                  ╰────────╯                  │
echo           │        操作說明:                                      │
echo           │                                                        │
echo           │            請輸入備份任務的名稱,然后回車確認。        │
echo           │                                                        │
echo           │        本程序將在"系統(tǒng)安裝盤:\Program Files\備份       │
echo           │                                                        │
echo           │        任務程序"下生成"備份任務名稱_backup.bat"        │
echo           │                                                        │
echo           │        和"備份任務名稱_revert.bat"這一對備份及恢       │
echo           │                                                        │
echo           │        復批處理。如需更改此備份任務的部分功能,        │
echo           │                                                        │
echo           │        請用文本編輯工具對批處理文件進行編輯。          │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
echo            返回上一步請按 1                                退出請按 0
echo           ──────────────────────────────
echo.
echo.
set name=
set /p name=           請輸入備份任務的名稱:
if "%name%"=="" goto input_name
if "%name%"=="0" exit
if "%name%"=="1" goto input_time
if exist "%ProgramFiles%\備份任務程序\%name%_backup.bat" goto name_exist

call :list
echo         ╔══════════════════════════════╗
echo         ║  退出請按 0 ,返回上一步請按 1 ,放棄并開始新的備份請按 B  ║
echo         ║                                                            ║
echo         ║             繼續(xù)下一步請按除0、1和B之外的任意鍵            ║
echo         ╚══════════════════════════════╝
echo.
set choice=
set /p choice=       請選擇操作代碼(0/1/B/其他鍵):
if "%choice%"=="0" exit
if "%choice%"=="1" goto input_name
if /i "%choice%"=="b" (
    attrib /s /d -s -h -r "%destination%\*.*">nul 2>nul
    rd /q /s "%destination%">nul 2>nul
    goto input_source
)
goto build_backup

:notice
cls
mode con lines=40
color 8e
title 文件備份器-注意事項
echo.
echo.
echo     ╔══════════════════════════════════╗
echo     ║                                                                    ║
echo     ║        1. 當程序提示某路徑已存在時,強烈建議在作出覆蓋操作前先查   ║
echo     ║                                                                    ║
echo     ║    看該目錄下的內容,以免程序錯誤刪除該目錄下的所有內容,給您帶    ║
echo     ║                                                                    ║
echo     ║    災難性的損失。備份有風險,操作請謹慎!                          ║
echo     ║                                                                    ║
echo     ║        2. 路徑名中,除了允許冒號和反斜杠符號緊跟盤符之外,其他位   ║
echo     ║                                                                    ║
echo     ║    置不能再含有半角狀態(tài)下的以下11個符號,分別為:\、/、:、*、?、   ║
echo     ║                                                                    ║
echo     ║    "、、>、(、)、|。輸入其中任意一個符號,都會引起無法預料的錯    ║
echo     ║                                                                    ║
echo     ║    誤;在本程序中,文件名的命名也應遵守以上規(guī)定!                  ║
echo     ║                                                                    ║
echo     ║        3. 如果只輸入"盤符+冒號"格式的路徑,程序會把路徑當作指定    ║
echo     ║                                                                    ║
echo     ║    盤的當前路徑來處理,而不是指定盤的根目錄。比如:假設系統(tǒng)安裝    ║
echo     ║                                                                    ║
echo     ║    在C盤,在路徑中只輸入 C: ,則并不會認為是C盤根目錄,而是C盤的   ║
echo     ║                                                                    ║
echo     ║    當前路徑,默認為"C:\ducuments and settings\當前用戶名";        ║
echo     ║                                                                    ║
echo     ║        4. 如果輸入的路徑不帶盤符,則作為相對路徑處理;             ║
echo     ║                                                                    ║
echo     ║        5. 本程序工作原理為:通過比較備份后文件與源文件的時間早晚   ║
echo     ║                                                                    ║
echo     ║    來決定是否進行復制操作,因此,任何改動備份后文件修改時間的操    ║
echo     ║                                                                    ║
echo     ║    作都會使程序不能及時更新源文件改動過的數據,請勿對備份后的文件  ║
echo     ║                                                                    ║
echo     ║    進行改名、添加或刪除子文件等操作!                              ║
echo     ║                                                                    ║
echo     ╚══════════════════════════════════╝
echo.
echo                                                      按任意鍵返回上一步...
pause>nul
goto input_source

:whether_over
cls
color 0c
title 文件備份器-路徑已存在
echo.
echo.
echo.
echo.
echo.
echo ________________________________________________________________________________
echo.
echo          您輸入的路徑"%destination%"已經存在,覆蓋還是追加?
echo.
echo ________________________________________________________________________________
echo.
echo     ╔══════════════════════════════════╗
echo     ║   按O覆蓋,按A追加,按V查看保存目錄,按 1 返回上一步,按 0 退出    ║
echo     ╚══════════════════════════════════╝
echo.
echo.
set choice=
set /p choice=                           請選擇(O/A/V/0/1): 
if /i "%choice%"=="o" cls  goto over_write
if /i "%choice%"=="a" goto input_date
if /i "%choice%"=="v" call :view_directory  goto whether_over
if "%choice%"=="0" exit
if "%choice%"=="1" goto input_destination
goto whether_over

:whether_add
cls
color 0c
title 文件備份器-路徑已存在
echo.
echo.
echo.
echo.
echo.
echo ________________________________________________________________________________
echo.
echo          "%destination%"下似乎已經存在以前的備份,覆蓋還是追加?
echo.
echo ________________________________________________________________________________
echo.
echo    ╔═══════════════════════════════════╗
echo    ║  按 V 查看保存目錄,按 O 覆蓋,按 A 追加,按 1 返回上一步,按 0 退出 ║
echo    ╚═══════════════════════════════════╝
echo.
echo.
set choice=
set /p choice=                           請選擇(V/O/A/0/1): 
if /i "%choice%"=="o" goto over_write
if /i "%choice%"=="a" cls  goto input_date
if /i "%choice%"=="v" call :view_directory  goto whether_add
if "%choice%"=="0" exit
if "%choice%"=="1" goto input_destination
goto whether_add

:freesize
::     假設字符串freesize長度范圍為0~7(假設硬盤最大999G,換算成以M為單位則是7位數),
::  則首先在freesize前補足7個空格,然后直接取字符串的后7個字符,即可得到右對齊排列
::  的數字freesize。同理,假設字符串volume的長度范圍為0~20(卷標名最長可達32位,但是
::  為了兼顧排版的顯示,只取后20位)。
cls
color 2e
title 文件備份器-各分區(qū)剩余空間情況
setlocal EnableDelayedExpansion
echo.
echo.
echo        ╔══════════════════════════════╗
echo        ║        磁盤分區(qū)         磁盤卷標名      剩余空間(MB)       ║
echo        ║    _____________________________________________________   ║
for %%d in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  if exist %%d:\nul (
    for /f "tokens=3" %%z in ('dir /-c %%d:\') do set freesize=%%z
      if not "!freesize!"=="0" (
        set /a freesize=!freesize:~0,-3!/1049>nul
        set freesize=       !freesize!
        set freesize=!freesize:~-7!
        for /f "tokens=3*" %%v in ('vol %%d:') do set volume=%%w
        set volume=                    !volume!
        set volume=!volume:~-20!
        echo        ║           %%d: !volume!     !freesize!              ║
      )
    )
)
echo        ╚══════════════════════════════╝
echo.
echo.
echo.
echo.
echo                                                按任意鍵返回上一步...
pause>nul
goto input_destination

rem  ========創(chuàng)建備份任務腳本程序,要考慮到生成多個批處理文件的情況=============
:build_backup
call :list
title 文件備份器-正在生成備份程序...
if not exist "%ProgramFiles%\備份任務程序" md "%ProgramFiles%\備份任務程序"
set batch_directory=%ProgramFiles%\備份任務程序
attrib /s /d -r -h -s "%batch_directory%\*.*">nul 2>nul

:: 因為把所有的批處理內容只用一句 >"%batch_directory%\%name%_backup.bat" 來接收,
:: 所以其中的括號都要用 ^ 來轉義

(
echo @echo off
echo mode con cols=35 lines=10
echo color 1f
echo title 文件備份器-%name%_backup
echo.
echo rem                        功能說明
echo.
echo rem        本程序由"文件備份器V2.3"生成  Code by JM  2006-10-19 QQ:13132002
echo.
echo rem                 build on %date% %time:~0,-3% by %username%
echo.
echo rem    原理:比較原始文件和備份文件修改日期的早晚,如果原始文件修改時間晚于備份文件,
echo rem          則復制原始文件覆蓋備份文件;如果時間沒差別,則不作任何處理。
echo.
echo if not exist "%source%" ^(
echo title 文件丟失
echo color 0c
echo echo.
echo echo ___________________________________
echo echo.
echo echo 文件"%source%"
echo echo.
echo ecoh 不存在,可能已被改名、移動或者刪除
echo echo.
echo echo ___________________________________
echo ping 127.1 -n 5 ^>nul
echo exit^)
echo if not exist "%destination%" md "%destination%"
)>"%batch_directory%\%name%_backup.bat"

set xcopy_parameter=
if "%folder%"=="yes" (set xcopy_parameter=/e /s) else (goto file_backup)

(
echo attrib /s /d -s -h -r "%destination%\*.*"^>nul 2^>nul
echo set times=
echo setlocal enabledelayedexpansion
echo for /f "delims=" %%%%i in ^('xcopy /c /d /h /i /g /r %xcopy_parameter% /x /y "%source%" "%destination%"'^) do ^(
echo     if "%%%%i"=="復制了 0 個文件" ^(exit^) else ^(
echo         if not defined times call :head
echo         if ^^!file_time^^! lss %%%%~ti set file_time=%%%%~ti^set file_route=%%%%~dpnxi
echo         if not "%%%%~ti"=="" ^(echo     %%%%~dpnxi    %%%%~ti^>^>"%destination%\%name_log%_log.log"
echo         ^) else ^(echo.^echo                                                %%%%i^)^>^>"%destination%\%name_log%_log.log"
echo     ^)
echo     if "%%%%i"=="復制了 1 個文件" goto end
echo ^)

echo ^(
echo echo.
echo echo     最后更新的文件是:%%file_route%% ,更新操作發(fā)生在 %%file_time%% 。
echo ^)^>^>"%destination%\%name_log%_log.log"
echo :end
echo attrib /s /d +s +r "%destination%\*.*"^>nul 2^>nul
echo start "" "%destination%\%name_log%_log.log"
echo goto :eof
echo.
)>>"%batch_directory%\%name%_backup.bat"
call :build_head
goto build_revert

:file_backup
(
echo xcopy /c /d /h /i /g /q /x /y "%source%" "%destination%"^|findstr /b /e /c:"復制了 0 個文件"^>nul^^goto :eof
echo attrib -s -h -r "%destination%\*.*"^>nul 2^>nul
echo echo.^>^>"%destination%\%name_log%_log.log"
echo for /f "skip=1 tokens=1,2" %%%%i in ^('dir /a-d /tw "%source%"^^^|find "-"'^) do ^(
echo     echo ^^^%%date:~0,10%% %%time:~0,8%% 備份記錄^^^> 文件最后一次更新時間:%%%%i %%%%j^>^>"%destination%\%name_log%_log.log"
echo ^)
echo attrib +s +r "%destination%\*.*"^>nul 2^>nul
echo start "" "%destination%\%name_log%_log.log"
)>>"%batch_directory%\%name%_backup.bat"

rem  ========創(chuàng)建文件恢復腳本程序========
:build_revert
:: 恢復備份后文件(夾)的完整路徑
for %%i in ("%source%") do set SourceFileName=%%~nxi
:: 判斷%source%是文件還是文件夾
if "%folder%"=="yes" (set SourceFiles=%destination%) else (set SourceFiles=%destination%\%SourceFileName%)
(
echo @echo off
echo mode con lines=25
echo color 1f
echo title 文件備份器-%name%_revert
echo.
echo rem                        功能說明
echo.
echo rem        本程序由"文件備份器V2.3"生成  Code by JM  2006-10-19 QQ:13132002
echo.
echo rem                 build on %date% %time:~0,-3% by %username%
echo.
echo rem    原理:在創(chuàng)建備份任務時,把源文件的原始屬性記錄下來。當需要恢復文件時,
echo rem          則復制備份后的文件覆蓋源文件,并去掉覆蓋后所有文件的屬性,最后
echo rem          從恢復程序中讀出原始屬性并重新設置。
echo if not exist "%destination%" ^(
echo title 文件丟失
echo color 0c
echo echo.
echo echo.
echo echo.
echo echo.
echo echo.
echo echo.
echo echo ________________________________________________________________________________
echo echo.
echo echo           文件"%destination%"不存在,可能已被改名、移動或者刪除
echo echo.
echo echo ________________________________________________________________________________
echo ping 127.1 -n 5 ^>nul
echo exit^)
echo echo.
echo echo.
echo echo.
echo echo.
echo echo.
echo echo.
echo echo ________________________________________________________________________________
echo echo.
echo echo          正在把文件從"%destination%"恢復到"%source%",請稍侯...
echo echo.
echo echo ________________________________________________________________________________
)>"%batch_directory%\%name%_revert.bat"
if "%folder%"=="yes" echo if not exist "%source%" md "%source%">>"%batch_directory%\%name%_revert.bat"         
echo attrib /s /d -h -r -s "%source%"^> nul 2^>nul>>"%batch_directory%\%name%_revert.bat"

if "%folder%"=="yes" (goto folder_copy) else (goto file_copy)

:file_copy
for /f "tokens=*" %%i in ("%source%") do (set file_root=%%~dpi)
(
echo xcopy /c /h /q /r %xcopy_parameter% /x /y "%SourceFiles%" "%file_root%"^>nul 2^>nul
echo attrib -h -r -s "%source%"^>nul 2^>nul
)>>"%batch_directory%\%name%_revert.bat"
goto get_attrib

:folder_copy
(
echo xcopy /c /e /h /i /g /q /r /s /x /y "%SourceFiles%" "%source%"^>nul 2^>nul
echo del /a /f "%source%\%name_log%_log.log"^>nul 2^>nul
)>>"%batch_directory%\%name%_revert.bat"

rem  ========獲取文件(夾)的屬性=============
:get_attrib
:: 根據文件(夾)來取舍dir中的/s參數,以防%suorce%為文件時多列路徑
:: 但是當%source%為文件的時候,dir /a /b "%source%"不會顯示絕對路徑
if "%folder%"=="yes" (set dir_='dir /a /b /s "%source%"') else (set dir_="%source%")
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (%dir_%) do (
    set var=%%~ai
    set attrib_=
    if not "!var:~1,1!"=="-" set attrib_=+!var:~1,1!
    if not "!var:~3,1!"=="-" set attrib_=!attrib_! +!var:~3,1!
    if not "!var:~4,1!"=="-" set attrib_=!attrib_! +!var:~4,1!
    if not "!attrib_!"=="" echo attrib !attrib_! "%%i">>"%batch_directory%\%name%_revert.bat"
)

:add_to_reg
cls
color 1f
title 文件備份器-開機自運行選項
echo.
echo                               ╭────────╮
echo           ╭─────────┤ 開機自運行選項 ├─────────╮
echo           │                  ╰────────╯                  │
echo           │        操作說明:                                      │
echo           │                                                        │
echo           │            本操作即將把備份任務加入到開機自運行        │
echo           │                                                        │
echo           │        選項中。若要取消開機自運行功能,請在"開始       │
echo           │                                                        │
echo           │        \運行"中輸入"msconfig",打開"系統(tǒng)配置實用       │
echo           │                                                        │
echo           │        程序",在"啟動"處取消以備份任務名稱命名的       │
echo           │                                                        │
echo           │        啟動項目,或者在注冊表[HKEY_LOCAL_MACHINE\&;     │
echo           │                                                        │
echo           │        SOFTWARE\Microsoft\Windows\CurrentVersion\&;     │
echo           │                                                        │
echo           │        Run]下刪除相應的字符串值。                      │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
echo            接受請直接敲回車                                跳過請按 S
echo           ──────────────────────────────
echo.
set choice=
set /p choice=           請輸入操作代碼(S/回車):
if /i "%choice%"=="s" goto run_at

rem  ========在注冊表中增添自啟動項以便開機時自動備份=============
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v %name% /t REG_SZ /d "%batch_directory%\%name%_backup.bat" /f >nul 2>nul

:run_at
:: 強制啟用計劃任務服務
sc config Schedule start= AUTO >nul 2>nul
sc start Schedule>nul 2>nul
rem  ==========導入at計劃任務=========
for %%i in (%copytime%) do (
    at %%i /every:%copydate%  "%batch_directory%\%name%_backup.bat">nul 2>nul
)
attrib /s /d -s -r "%destination%\*.*">nul 2>nul
(
echo.
echo   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
echo.
echo       于%date% %time:~0,8%創(chuàng)建了備份任務
echo       備份對象:%source%
echo       備份文件保存位置:%destination%
echo       備份程序位置:%batch_directory%\%name%_backup.bat
echo       文件恢復程序位置:%batch_directory%\%name%_revert.bat
echo.
echo   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
echo.
echo ________________________________________________________________________________
)>>"%destination%\%name_log%_log.log"

cls
color 1f
title 文件備份器-備份中……
echo.
echo.
echo.
echo.
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤  正在備份文件  ├─────────╮
echo           │                  ╰────────╯                  │
echo           │        操作說明:                                      │
echo           │                                                        │
echo           │            備份時間和文件大小、文件數量成正比,請      │
echo           │                                                        │
echo           │        耐心等待……                                    │
echo           │                                                        │
echo           ╰────────────────────────────╯
xcopy /c /h /i /g /q /r %xcopy_parameter% /x /y "%source%" "%destination%">nul 2>nul
attrib /s /d +s +r "%destination%\*.*">nul 2>nul

::  添加當計劃任務出錯時提交報告的功能
:: --------------------------------------------------------------------
:: 當使用計劃任務讓系統(tǒng)自動運行一些命令或程序時,如果運行時發(fā)生錯誤,
:: 在系統(tǒng)的默認設置里,計劃任務不會提交錯誤報告。
:: 此設置就是讓計劃任務在出現(xiàn)錯誤時彈出提示信息。
:: 要禁用此功能,請刪除注冊表中SchedulingAgent下的 NotifyOnTaskMiss
:: --------------------------------------------------------------------
:: reg add HKLM\SOFTWARE\Microsoft\SchedulingAgent /v NotifyOnTaskMiss /t REG_DWORD /d 00000001 /f >nul 2>nul

cls
title 備份日志
echo.
echo.
type "%destination%\%name_log%_log.log"
echo.
echo.
echo.
echo                                                        按任意鍵繼續(xù)...
pause>nul

cls
title 備份任務列表
echo.
echo.
echo.
echo.
echo.
echo.
echo ________________________________________________________________________________
echo.
for %%i in (%copytime%) do (
    echo          已經添加了每月^(周^) %copydate% 日 %%i 對"%source%"的備份任務
)
echo.
echo ________________________________________________________________________________
echo.
echo                     如要繼續(xù)添加備份任務,請輸入 B ,其他任意鍵退出...
echo.
echo.
set again=
set /p again=                             請選擇下一步操作代碼: 
if /i "%again%"=="b" goto input_source
exit

rem  ========刪除不再使用的文件或目錄=============
:del_nouse
:: 以下語句的作用是:如果停止了某項備份任務,則檢查硬盤上由本程序生成的bat文件中,
:: 不在at任務列表中的有哪些;如果有,則刪除該bat,同時刪除注冊表中對應的字符串值;
:: 如果沒有,則不作任何刪除操作;
:: 如果由本程序在%ProgramFiles%下創(chuàng)建的目錄為空,則刪除該目錄
attrib -h -r -s "%ProgramFiles%\備份任務程序\*.bat">nul 2>nul
setlocal enabledelayedexpansion
for %%i in ("%ProgramFiles%\備份任務程序\*_backup.bat") do (
    set full_name=%%i
    set part_name=!full_name:~0,-11!
    at|find /i "%%i">nul || find /i "Code by JM" "!part_name!*.bat">nul  (
        del /f /q "!part_name!*.bat"
        reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v %%~fi /f >nul 2>nul
    )
)
for %%i in ("%ProgramFiles%\備份任務程序\*.bat") do (
    find /i "Code by JM" "%%i">nul  attrib +r "%%i"
)
if not exist "%ProgramFiles%\備份任務程序" goto :eof
dir /a /b "%ProgramFiles%\備份任務程序"|findstr .>nul || rd /q "%ProgramFiles%\備份任務程序"
goto :eof


:: ━━━━━━━━━━━━━━━━━以下代碼為出錯提示━━━━━━━━━━━━━━━━━

:system_error
cls
color 0c
title 文件備份器-操作系統(tǒng)不支持
echo.
echo.
echo.
echo.
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤ 操作系統(tǒng)不支持 ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │                                                        │
echo           │         非常抱歉,該程序只能在XP環(huán)境下運行             │
echo           │                                                        │
echo           │                     程序即將退出...                    │
echo           │                                                        │
echo           ╰────────────────────────────╯
ping 127.1 -n 4 >nul  goto :eof

:popedom_error
cls
color 0c
title 文件備份器-權限不足
echo.
echo.
echo.
echo.
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤    權限不足    ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │                                                        │
echo           │                                                        │
echo           │      非常抱歉,當前用戶權限太低,無法運行本程序        │
echo           │                                                        │
echo           │      請換用具備管理員組權限的其他用戶帳號來運行        │
echo           │                                                        │
echo           │                    按任意鍵退出...                     │ 
echo           │                                                        │
echo           ╰────────────────────────────╯
pause>nul
goto :eof

:subarea_noexist
cls
color 0c
title 文件備份器-磁盤 "%subarea%" 不存在
echo.
echo.
echo.
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤ 磁盤分區(qū)不存在 ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │                                                        │
echo           │                盤符為 %subarea% 的磁盤分區(qū)不存在               │
echo           │                                                        │
echo           │             按任意鍵返回上一步重新選擇路徑             │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
pause>nul
goto input_destination

:source_noexist
cls
color 0c
title 文件備份器-文件不存在
echo.
echo.
echo.
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤   文件不存在   ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │                                                        │
echo           │                   要備份的文件不存在                   │
echo           │                                                        │
echo           │               按任意鍵返回上一步重新選擇               │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
pause>nul
goto input_source

:forbid_to_backup
cls
color 0c
title 文件備份器-禁止備份
echo.
echo.
echo.
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤    禁止備份    ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │                                                        │
echo           │                  本程序不支持全盤備份                  │
echo           │                                                        │
echo           │               按任意鍵返回上一步重新選擇               │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
pause>nul
goto input_source

:forbid_to_build_1
cls
color 0c
title 文件備份器-禁止創(chuàng)建
echo.
echo.
echo.
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤    禁止創(chuàng)建    ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │                                                        │
echo           │         為了數據的安全,請勿直接備份到根目錄下         │
echo           │                                                        │
echo           │               按任意鍵返回上一步重新選擇               │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
pause>nul
goto input_destination

:forbid_to_build_2
cls
color 0c
title 文件備份器-禁止創(chuàng)建
echo.
echo.
echo.
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤    禁止創(chuàng)建    ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │        警告:保存位置與要備份文件的位置路徑相同        │
echo           │                                                        │
echo           │              或者位于要備份文件的某一目錄下            │
echo           │                                                        │
echo           │            為了數據的安全,請重新選擇保存位置          │
echo           │                                                        │
echo           │               按任意鍵返回上一步重新選擇               │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
pause>nul
goto input_destination

:destination_input_erro
cls
color 0c
title 文件備份器-路徑輸入錯誤
echo.
echo.
echo.
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤  路徑輸入錯誤  ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │                                                        │
echo           │                   您的路徑輸入有錯誤                   │
echo           │                                                        │
echo           │              請在半角狀態(tài)輸入冒號和反斜杠              │
echo           │                                                        │
echo           │               按任意鍵返回上一步重新選擇               │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
pause>nul
goto input_destination

:date_error
cls
color 0c
title 文件備份器-日期輸入錯誤
echo.
echo                               ╭────────╮
echo           ╭─────────┤  日期輸入錯誤  ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │                   您的日期輸入有錯誤                   │
echo           │                                                        │
echo           │                                                        │
echo           │        1. 日期不能字母和數字混用;                     │
echo           │                                                        │
echo           │        2. 單個的數字式日期不能大于31,個數不能超過     │
echo           │                                                        │
echo           │    31個;                                              │
echo           │                                                        │
echo           │        3. 字母式的日期只能是 M,T,W,Th,F,S,Su 中的      │
echo           │                                                        │
echo           │    任意幾個,不區(qū)分大小寫;                            │
echo           │                                                        │
echo           │        4. 日期之間只能用逗號分隔。                     │
echo           │                                                        │
echo           │                                                        │
echo           │               按任意鍵返回上一步重新選擇               │
echo           │                                                        │
echo           ╰────────────────────────────╯
pause>nul
goto input_date

:time_error
cls
color 0c
title 文件備份器-時間輸入錯誤
echo.
echo.
echo.
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤  時間輸入錯誤  ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │                                                        │
echo           │                   您的時間輸入有錯誤                   │
echo           │                                                        │
echo           │小時數不能大于24,分鐘數不能大于60,每個時間點用空格分隔│
echo           │                                                        │
echo           │               按任意鍵返回上一步重新選擇               │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
pause>nul
goto input_time

:name_exist
cls
color 0c
title 文件備份器-同名程序 %name%_backup.bat 已經存在
echo.
echo.
echo.
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤  存在同名程序  ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │                                                        │
echo           │ "%ProgramFiles%\備份任務程序"下已存在同名的批處理程序│
echo           │                                                        │
echo           │               按任意鍵返回上一步重新選擇               │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
pause>nul
goto input_name

:: ━━━━━━━━━━━━━━━━━以下代碼為被調用的子過程━━━━━━━━━━━━━━━━━

rem  ========查看保存位置下的內容以決定 追加/覆蓋/重新選擇 等操作========
:view_directory
explorer "%destination%"
goto :eof

rem  ========簡化每天都需要備份時的操作========
:all_date
set copydate=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
goto input_time
goto :eof

rem  ========從備份文件中恢復文件========
:revert
explorer "%ProgramFiles%\備份任務程序"
goto input_source
goto :eof

rem  ========顯示備份清單========
:list
cls
color 1f
title 文件備份器-備份清單
echo.
echo ________________________________________________________________________________
echo.
echo                         備份任務名稱:"%name%"
echo.
echo                         要備份的文件:"%source%"
echo.
echo                         保存位置:"%destination%"
echo.
echo                         備份日期: %copydate%
echo.
echo                         備份時間:%copytime%
echo.
echo ________________________________________________________________________________
echo.
goto :eof

rem  ========日志里的更新列表頭========
:build_head
(
echo :head
echo set times=1
echo ^(
echo echo _____________________________________________________________________________________
echo echo.
echo echo *更新列表^^^(%%date:~0,10%% %%time:~0,8%%^^^):
echo echo.
echo ^)^>^>"%destination%\%name_log%_log.log"
echo goto :eof
)>>"%batch_directory%\%name%_backup.bat"
goto :eof

標簽:三明 天門 周口 三沙 宜昌 鄭州 東營 南京

巨人網絡通訊聲明:本文標題《用批處理實現(xiàn)文件備份器V2.3》,本文關鍵詞  用,批處理,實現(xiàn),文件,備份,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用批處理實現(xiàn)文件備份器V2.3》相關的同類信息!
  • 本頁收集關于用批處理實現(xiàn)文件備份器V2.3的相關信息資訊供網民參考!
  • 推薦文章
    国产a级免费视频| 精品欧美一区二区在线观看| 在线观看欧美激情| 日韩综合一区二区三区| 久久综合九色综合欧美狠狠| 久久久.www| 中文字幕亚洲综合久久五月天色无吗''| 女人和拘做爰正片视频| 日本国产精品| 久久女人天堂| 国产99在线 | 亚洲| 美女视频网站在线观看| 中文字幕免费高清电视剧网站在线观看| 欧美日韩亚洲三区| 欧美三级午夜理伦三级中视频| 日本免费一区二区三区视频观看| h精品动漫在线观看| 国产精品18在线| 自拍视频一区二区| 欧美精品激情视频| 国产精品蜜臀av| 色综合天天综合狠狠| 欧美精品手机在线| 九九九在线观看视频| 天堂网中文在线观看| 欧美日韩精品免费观看| 风间由美中文字幕在线看视频国产欧美| 日韩一级精品视频在线观看| 免费看一区二区三区| 亚洲成人精品| 天天干夜夜干| 中文字幕人妻一区| 亚洲免费黄色| 中文字幕狠狠干| 国产后入清纯学生妹| 小早川怜子一区二区三区| 日韩欧美综合在线| 精品乱子伦一区二区| 激情五月综合婷婷| 欧美日韩国产不卡在线看| 狠狠色狠狠色综合人人| 国产精品美女一区二区| 999久久久91| 美女在线视频免费| 日韩电影视频免费| 无码人妻一区二区三区免费| 狠狠操狠狠色综合网| 国产成人一区二区三区别| 久久久久在线| 日韩中文第一页| 中国黄色在线视频| 国产午夜精品全部视频播放| 亚洲综合大片69999| av亚洲精华国产精华| 福利视频一区二区| 一区二区三区免费网站| 国产精品久久久久久久久久久久午夜片| 日韩中文字幕免费在线| 免费在线成人激情电影| 欧美极品另类| 国产精品国内免费一区二区三区| 国产精品欧美日韩一区| 日韩一级特黄毛片| 欧美日韩极品在线观看一区| 麻豆传传媒久久久爱| 日韩中文视频免费在线观看| a v视频在线观看| 久久免费在线观看| 欧美天天综合色影久久精品| 天天影视久久综合| 精品国产人成亚洲区| 99精品视频网| jizzjizz亚洲中国少妇| 日本美女黄色一级片| 国产欧美在线观看视频| 伊人久久成人网| 91社影院在线观看| 性欧美videossex精品| 免费在线观看一区| 中文字幕在线观看视频一区| www.17c.com喷水少妇| 精品午夜久久| 欧美性生活一级| jizzjizz韩国| 国产交换配乱淫视频免费| 国产一区二区三区亚洲综合| 日韩色视频在线观看| 神马久久久久久久久久久| 国产成人免费看一级大黄| 国产高清精品一区二区| 亚洲欧洲成视频免费观看| 日韩av福利在线观看| 午夜国产精品视频| 2017亚洲男人天堂| 亚洲444eee在线观看| 久久99精品久久久久久欧洲站| 奇米精品在线| 直接在线观看的三级网址| 亚洲国产精品字幕| 欧美影视一区二区三区| a在线欧美一区| 外国精品视频在线观看| 日韩在线观看成人| 亚洲a视频在线| 3atv在线一区二区三区| 国产99久久久国产精品潘金| 天堂va在线高清一区| 国内久久久精品| 蜜桃无码一区二区三区| 在线观看av免费| 水蜜桃亚洲一二三四在线| 亚洲天堂最新地址| 成人频在线观看| 亚洲精品一区二区三区在线播放| 亚洲专区在线视频| 亚洲色图官网| 影音先锋在线影院| 丰满人妻一区二区三区免费视频棣| 一区二区91美女张开腿让人桶| 国产一级淫片久久久片a级| 欧美午夜精品久久久久久浪潮| 欧美精品在线免费播放| 激情av一区二区| 国产精品狼人色视频一区| 日韩精品久久一区二区| 一区二区国产日产| 在线视频中文字幕第一页| 免费一级特黄特色毛片久久看| 国产女人18毛片水真多18| 国产精品欧美一区二区三区| 91激情在线观看| 色爱区成人综合网| 亚洲精品一区二区三区香蕉| 国产一区第一页| 网站一区二区三区| 亚洲视频网在线直播| 精品视频在线观看一区| 午夜激情福利视频| 日本一本视频| 色妞在线综合亚洲欧美| 精品一成人岛国片在线观看| 亚洲精品人成网在线播放影院| 一区二区三区免费在线看| 国产一区二区三区免费观看| 在线播放你懂得| 牛牛电影国产一区二区| 66m—66摸成人免费视频| 亚洲深夜激情| 18欧美亚洲精品| 伊人伊人伊人久久| 久久久久成人网站| 91欧美精品成人综合在线观看| 精品亚洲a∨| 无码人妻av免费一区二区三区| caoporn免费在线| 永久555www成人免费| 欧美性猛交xxxx偷拍洗澡| 日韩一级裸体免费视频| 欧美手机在线| 亚洲综合欧美在线| 国产精品久久久久久久av福利| 中文字幕在线一二| 国产精品无人区| 亚洲成人第一| 亚洲欧洲美洲国产香蕉| 99色这里只有精品| 亚洲精品性视频| 天天看天天干| 久久噜噜色综合一区二区| 成av人片在线观看www| 久久久久亚洲AV成人无在| 特级毛片在线免费观看| 欧美成人精品在线| 电影天堂爱爱爱爱| 国产伦精品一区二区三区视频痴汉| 丰满肥臀噗嗤啊x99av| 日韩中文字幕在线观看| 亚洲免费av一区二区| 91高清免费看| 天堂久久午夜av| 亚洲第一在线综合网站| 国产深夜男女无套内射| 你微笑时很美电视剧整集高清不卡| 精品美女一区二区三区| 伊甸园精品99久久久久久| 熟女少妇一区二区三区| 欧美日本在线观看| 91精品国产99久久久久久| 国产一区二区视频免费观看| 亚洲国产精品久久久男人的天堂| 超碰在线一区二区三区| 污视频网站免费在线观看| 国产成a人亚洲精v品无码| 精品自拍偷拍视频| 大荫蒂欧美视频另类xxxx| 亚洲成色777777在线观看影院| 视频免费观看| 91在线精品一区二区三区| 综合日韩在线| 在线观看av日韩| 婷婷综合激情网| 99自拍视频在线观看| 亚洲综合色婷婷在线观看| 欧美大胆a人体大胆做受| 99色在线视频| 国产精品久久久久久五月尺| 精品亚洲男同gayvideo网站| 国产欧美va欧美不卡在线| 香蕉视频网站在线观看| 宅男噜噜噜66一区二区| 国产又黄又猛的视频| 成人18免费入口| 久久国产精品色| 深夜成人福利| 国产成人精品一区二三区| 一本色道久久99精品综合| 久久久成人精品| 亚洲欧美综合精品久久成人| 国产精品精华液网站| 欧美视频网站| 久久久国产精品午夜一区ai换脸| 日本韩国欧美中文字幕| 日韩小视频网站| 99热6这里只有精品| 久久久国产精彩视频美女艺术照福利| 日韩美女在线看| 波多野结衣家庭教师在线播放| 亚洲五月六月丁香激情| 精品视频色一区| 国产极品尤物在线| 国产欧美精品va在线观看| 日韩毛片一二三区| 欧洲精品99毛片免费高清观看| 在线成人动漫av| 国产亚洲视频在线观看| 欧美视频日韩视频在线观看| 国产乱人伦精品一区| 青草青草久热精品视频在线观看| 欧美久久久久久久久久| 国产一级免费观看| 国产精品自拍在线观看| 久久综合色鬼综合色| 欧美日韩另类国产亚洲欧美一级| 一本一道久久a久久精品逆3p| 精品国产三级a在线观看| 国产成人免费视| www.亚洲免费av| 日本学生初尝黑人巨免费视频| 蜜桃在线一区二区三区| 久久久久久久久岛国免费| 天天综合天天做天天综合| 欧美美女黄视频| 亚洲 欧美 日韩系列| 老司机午夜性大片| 蜜桃成人精品| 国产精品视频一区二区高潮| 国产精品久久久久久五月尺| 成人xxxx| 欧美黑人ⅹxxx另类猛交| 婷婷色在线资源| 成人午夜888| 很黄很黄激情成人| 中文字幕久久久久久久| 青青草久久网络| 国产精品无码久久久久成人app| 最新国产一区二区| 欧美一级片中文字幕| 女人高潮一级片| 中文字幕乱视频| 91丝袜高跟美女视频| 国产免费成人av| 亚洲性生活视频在线观看| 亚洲国产婷婷综合在线精品| 国产一区二区小视频| 香蕉久久aⅴ一区二区三区| 久久天天躁狠狠躁老女人| 奇米一区二区三区四区久久| 国产大学生视频| 性感女国产在线| 黄色大全在线观看| 久久久久亚洲av无码专区| 九九视频免费观看视频精品| 日韩国产欧美精品| 偷拍25位美女撒尿视频在线观看| 欧美日溪乱毛片| 国内毛片久久| 国产成人一区二区三区别| 亚洲视频电影图片偷拍一区| 亚洲AV无码久久精品国产一区| 久久午夜免费电影| 999国产视频| 中文字幕一区在线观看| 91一区二区三区| 久久激情综合网| 国产成人精品无码片区在线| 伊人精品视频| 亚洲综合清纯丝袜自拍| 欧美国产一区二区| 欧美xxxx日本和非洲| 先锋影音av资源网| 永久免费看片在线观看| 欧美一级爽aaaaa大片| 日韩欧美国产亚洲| 6080日韩午夜伦伦午夜伦| 欧美精品videosex性欧美| 四虎一区二区| 国产性色av一区二区| 精品少妇一区二区三区视频免付费| 亚洲一区资源| 亚洲av成人精品一区二区三区在线播放| 日本三级黄色大片| 女人爱爱视频| 久久久久久国产精品| 国产免费a视频| 国产视频在线看| 金瓶狂野欧美性猛交xxxx| 日韩成人一区二区| 国产精品午夜免费| 国产精品欧美一区二区三区奶水| 亚洲黄色www| 中文幕一区二区三区久久蜜桃| 91精品国产综合久久男男| 日韩 欧美 自拍| 亚洲精品tv久久久久久久久久| 亚洲精品中文字幕在线观看| 97se亚洲国产综合在线| 99国产精品久久久久99打野战| 在线黄色av|