最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

文件備份器V2.3修改版 批處理文件 文件備份器bat

  • BAT大小:14.9KB
  • BAT語(yǔ)言:簡(jiǎn)體中文
  • BAT類型:國(guó)產(chǎn)軟件
  • BAT授權(quán):免費(fèi)軟件
  • BAT類別:其它
  • 應(yīng)用平臺(tái):Windows平臺(tái)
  • 更新時(shí)間:2012-08-08
  • 網(wǎng)友評(píng)分:
360通過(guò) 騰訊通過(guò) 金山通過(guò)

情介紹

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

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

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

rem   =========檢測(cè)當(dāng)前用戶是否具有管理員權(quán)限=============
:check_popedom
net users %username%|findstr /i "\*administrator">nul||goto popedom_error
call :del_nouse

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


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

rem    =======輸入文件保存路徑并檢測(cè)輸入是否正確=======
:input_destination
cls
color 1f
title 文件備份器-請(qǐng)輸入目標(biāo)文件路徑
echo.
echo.
echo                               ╭────────╮
echo           ╭─────────┤  選擇保存位置  ├─────────╮
echo           │                  ╰────────╯                  │
echo           │        操作說(shuō)明:                                      │
echo           │                                                        │
echo           │            請(qǐng)輸入保存位置的絕對(duì)路徑或者相對(duì)路徑        │
echo           │                                                        │
echo           │        (注意:必須在半角狀態(tài)下輸入冒號(hào)和反斜杠;       │
echo           │                                                        │
echo           │        請(qǐng)勿輸入非法的路徑名符號(hào)),或者把一個(gè)已         │
echo           │                                                        │
echo           │        存在的文件夾拖曳至本窗口,然后回車確認(rèn)。        │
echo           │                                                        │
echo           │          ╭────────────────╮          │
echo           ╰─────┤  查看各磁盤分區(qū)剩余空間請(qǐng)按 9  ├─────╯
echo                       ╰────────────────╯
echo.
echo            返回上一步請(qǐng)按 1                                退出請(qǐng)按 0
echo           ──────────────────────────────
echo.
set destination=:
set /p destination=           請(qǐng)輸入備份文件的保存路徑:
set "destination=%destination:"=%"
:: 上面這句為判斷%destination%中是否存在引號(hào),有則剔除
if "%destination%"==":" goto input_destination
if "%destination%"=="0" exit
if "%destination%"=="1" goto input_source
if "%destination%"=="9" goto freesize
:: 下面一句針對(duì)文件或文件夾取保存位置的文件名
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 文件備份器-請(qǐng)輸備份入日期
echo                               ╭────────╮
echo           ╭─────────┤ 請(qǐng)輸入備份日期 ├─────────╮
echo           │                  ╰────────╯                  │
echo           │                                                        │
echo           │        1.若在每月的某幾天備份,請(qǐng)輸入從1到31的任意     │
echo           │                                                        │
echo           │    數(shù)字,比如1,3,4;若只在每月1號(hào)備份,請(qǐng)輸入"1,";   │
echo           │                                                        │
echo           │        2.若在每周的某幾天備份,請(qǐng)輸入星期幾的代碼      │
echo           │                                                        │
echo           │    (M,T,W,Th,F,S,Su);如果指定日期較多,在查看任務(wù)     │
echo           │                                                        │
echo           │    列表的時(shí)候,日期一欄將用省略號(hào)顯示;                │
echo           │                                                        │
echo           │        3.數(shù)字與字母不可混用;數(shù)字行或字母行首尾均無(wú)    │
echo           │                                                        │
echo           │    任何符號(hào),其間用逗號(hào)分隔;請(qǐng)嚴(yán)格按照本格式填寫!    │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
echo            返回上一步請(qǐng)按 1                                退出請(qǐng)按 0
echo           ──────────────────────────────
echo                                   每天都備份請(qǐng)按 A
echo.
set copydate=
set /p copydate=          請(qǐng)輸入備份日期:
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 文件備份器-請(qǐng)輸入時(shí)間
echo.
echo                               ╭────────╮
echo           ╭─────────┤ 請(qǐng)輸入備份時(shí)間 ├─────────╮
echo           │                  ╰────────╯                  │
echo           │        操作說(shuō)明:                                      │
echo           │                                                        │
echo           │            請(qǐng)按格式輸入備份時(shí)間,多個(gè)時(shí)間用空格        │
echo           │                                                        │
echo           │        分隔。該時(shí)間用24小時(shí)制(既從00:00到23:59)        │
echo           │                                                        │
echo           │        的小時(shí):分鐘格式表示。                           │
echo           │                                                        │
echo           │            例如:想分別在上午8點(diǎn)30分和下午4點(diǎn)進(jìn)        │
echo           │                                                        │
echo           │        行備份,請(qǐng)?jiān)谕恍休斎?:30 16:00(注意:兩       │
echo           │                                                        │
echo           │        個(gè)時(shí)間點(diǎn)之間有一個(gè)空格)                         │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
echo            返回上一步請(qǐng)按 1                                退出請(qǐng)按 0
echo           ──────────────────────────────
echo.
set copytime=
set /p copytime=           請(qǐng)輸入備份時(shí)間:
if "%copytime%"=="" goto input_time
if "%copytime%"=="0" exit
if "%copytime%"=="1" goto input_date
:: 檢查時(shí)間輸入是否正確
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    =======輸入備份任務(wù)名稱=======
:input_name
cls
color 1f
title 文件備份器-備份任務(wù)名稱
echo.
echo                               ╭────────╮
echo           ╭─────────┤  備份任務(wù)名稱  ├─────────╮
echo           │                  ╰────────╯                  │
echo           │        操作說(shuō)明:                                      │
echo           │                                                        │
echo           │            請(qǐng)輸入備份任務(wù)的名稱,然后回車確認(rèn)。        │
echo           │                                                        │
echo           │        本程序?qū)⒃?quot;系統(tǒng)安裝盤:\Program Files\備份       │
echo           │                                                        │
echo           │        任務(wù)程序"下生成"備份任務(wù)名稱_backup.bat"        │
echo           │                                                        │
echo           │        和"備份任務(wù)名稱_revert.bat"這一對(duì)備份及恢       │
echo           │                                                        │
echo           │        復(fù)批處理。如需更改此備份任務(wù)的部分功能,        │
echo           │                                                        │
echo           │        請(qǐng)用文本編輯工具對(duì)批處理文件進(jìn)行編輯。          │
echo           │                                                        │
echo           ╰────────────────────────────╯
echo.
echo            返回上一步請(qǐng)按 1                                退出請(qǐng)按 0
echo           ──────────────────────────────
echo.
echo.
set name=
set /p name=           請(qǐng)輸入備份任務(wù)的名稱:
if "%name%"=="" goto input_name
if "%name%"=="0" exit
if "%name%"=="1" goto input_time
if exist "%ProgramFiles%\備份任務(wù)程序\%name%_backup.bat" goto name_exist

call :list
echo         ╔══════════════════════════════╗
echo         ║  退出請(qǐng)按 0 ,返回上一步請(qǐng)按 1 ,放棄并開始新的備份請(qǐng)按 B  ║
echo         ║                                                            ║
echo         ║             繼續(xù)下一步請(qǐng)按除0、1和B之外的任意鍵            ║
echo         ╚══════════════════════════════╝
echo.
set choice=
set /p choice=       請(qǐng)選擇操作代碼(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 文件備份器-注意事項(xiàng)
echo.
echo.
echo     ╔══════════════════════════════════╗
echo     ║                                                                    ║
echo     ║        1. 當(dāng)程序提示某路徑已存在時(shí),強(qiáng)烈建議在作出覆蓋操作前先查   ║
echo     ║                                                                    ║
echo     ║    看該目錄下的內(nèi)容,以免程序錯(cuò)誤刪除該目錄下的所有內(nèi)容,給您帶    ║
echo     ║                                                                    ║
echo     ║    災(zāi)難性的損失。備份有風(fēng)險(xiǎn),操作請(qǐng)謹(jǐn)慎!                          ║
echo     ║                                                                    ║
echo     ║        2. 路徑名中,除了允許冒號(hào)和反斜杠符號(hào)緊跟盤符之外,其他位   ║
echo     ║                                                                    ║
echo     ║    置不能再含有半角狀態(tài)下的以下11個(gè)符號(hào),分別為:\、/、:、*、?、   ║
echo     ║                                                                    ║
echo     ║    "、<、>、(、)、|。輸入其中任意一個(gè)符號(hào),都會(huì)引起無(wú)法預(yù)料的錯(cuò)    ║
echo     ║                                                                    ║
echo     ║    誤;在本程序中,文件名的命名也應(yīng)遵守以上規(guī)定!                  ║
echo     ║                                                                    ║
echo     ║        3. 如果只輸入"盤符+冒號(hào)"格式的路徑,程序會(huì)把路徑當(dāng)作指定    ║
echo     ║                                                                    ║
echo     ║    盤的當(dāng)前路徑來(lái)處理,而不是指定盤的根目錄。比如:假設(shè)系統(tǒng)安裝    ║
echo     ║                                                                    ║
echo     ║    在C盤,在路徑中只輸入 C: ,則并不會(huì)認(rèn)為是C盤根目錄,而是C盤的   ║
echo     ║                                                                    ║
echo     ║    當(dāng)前路徑,默認(rèn)為"C:\ducuments and settings\當(dāng)前用戶名";        ║
echo     ║                                                                    ║
echo     ║        4. 如果輸入的路徑不帶盤符,則作為相對(duì)路徑處理;             ║
echo     ║                                                                    ║
echo     ║        5. 本程序工作原理為:通過(guò)比較備份后文件與源文件的時(shí)間早晚   ║
echo     ║                                                                    ║
echo     ║    來(lái)決定是否進(jìn)行復(fù)制操作,因此,任何改動(dòng)備份后文件修改時(shí)間的操    ║
echo     ║                                                                    ║
echo     ║    作都會(huì)使程序不能及時(shí)更新源文件改動(dòng)過(guò)的數(shù)據(jù),請(qǐng)勿對(duì)備份后的文件  ║
echo     ║                                                                    ║
echo     ║    進(jìn)行改名、添加或刪除子文件等操作!                              ║
echo     ║                                                                    ║
echo     ╚══════════════════════════════════╝
echo.
echo                                                      按任意鍵返回上一步...
pause>nul
goto input_source

:whether_over
cls
color 0c
title 文件備份器-路徑已存在
echo.
echo.
echo.
echo.
echo.
echo ________________________________________________________________________________
echo.
echo          您輸入的路徑"%destination%"已經(jīng)存在,覆蓋還是追加?
echo.
echo ________________________________________________________________________________
echo.
echo     ╔══════════════════════════════════╗
echo     ║   按O覆蓋,按A追加,按V查看保存目錄,按 1 返回上一步,按 0 退出    ║
echo     ╚══════════════════════════════════╝
echo.
echo.
set choice=
set /p choice=                           請(qǐng)選擇(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%"下似乎已經(jīng)存在以前的備份,覆蓋還是追加?
echo.
echo ________________________________________________________________________________
echo.
echo    ╔═══════════════════════════════════╗
echo    ║  按 V 查看保存目錄,按 O 覆蓋,按 A 追加,按 1 返回上一步,按 0 退出 ║
echo    ╚═══════════════════════════════════╝
echo.
echo.
set choice=
set /p choice=                           請(qǐng)選擇(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
::     假設(shè)字符串freesize長(zhǎng)度范圍為0~7(假設(shè)硬盤最大999G,換算成以M為單位則是7位數(shù)),
::  則首先在freesize前補(bǔ)足7個(gè)空格,然后直接取字符串的后7個(gè)字符,即可得到右對(duì)齊排列
::  的數(shù)字freesize。同理,假設(shè)字符串volume的長(zhǎng)度范圍為0~20(卷標(biāo)名最長(zhǎng)可達(dá)32位,但是
::  為了兼顧排版的顯示,只取后20位)。
cls
color 2e
title 文件備份器-各分區(qū)剩余空間情況
setlocal EnableDelayedExpansion
echo.
echo.
echo        ╔══════════════════════════════╗
echo        ║        磁盤分區(qū)         磁盤卷標(biāo)名      剩余空間(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" (
    &

警告:運(yùn)行BAT源碼是一種危險(xiǎn)的動(dòng)作,如果你不熟悉,請(qǐng)不要嘗試!

載地址

下載錯(cuò)誤?【投訴報(bào)錯(cuò)】

文件備份器V2.3修改版 批處理文件 文件備份器bat

      氣BAT

      關(guān)文章

      載聲明

      ☉ 解壓密碼:www.fzitv.net 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
      ☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
      ☉ 如果這個(gè)軟件總是不能下載的請(qǐng)?jiān)谠u(píng)論中留言,我們會(huì)盡快修復(fù),謝謝!
      ☉ 下載本站資源,如果服務(wù)器暫不能下載請(qǐng)過(guò)一段時(shí)間重試!或者多試試幾個(gè)下載地址
      ☉ 如果遇到什么問(wèn)題,請(qǐng)?jiān)u論留言,我們定會(huì)解決問(wèn)題,謝謝大家支持!
      ☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請(qǐng)購(gòu)買正版。
      ☉ 本站提供的文件備份器V2.3修改版 批處理文件 文件備份器bat資源來(lái)源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。

      凉城县| 芦溪县| 大渡口区| 灌南县| 临湘市| 浦城县| 朝阳市| 刚察县| 樟树市| 东明县| 广德县| 宣威市| 云和县| 菏泽市| 丰镇市| 东光县| 广宗县| 新化县| 湖北省| 清新县| 湛江市| 临清市| 吉林省| 溆浦县| 鄂温| 甘肃省| 安顺市| 广宁县| 天等县| 博野县| 社会| 青神县| 平潭县| 延吉市| 甘谷县| 海南省| 昂仁县| 德化县| 临泽县| 托里县| 德化县|