久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

windows中如何使用批處理備份目錄

143次閱讀
沒有評論

共計 6306 個字符,預計需要花費 16 分鐘才能閱讀完成。

這篇文章主要介紹 windows 中如何使用批處理備份目錄,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

以下是需要備份文件的一個 bat  批處理腳本,備份昨天 C:\Users\Administrator\Desktop\\111\2020\03\05 目錄下面的文件,

需要寫一個批處理文件,首先考慮需要獲取昨天的日期,以及創建一個日期的目錄存放備份,查看要備份的文件個數文件的大小,

備份完的文件大小個數的多少,在進行前后的比較一下,代碼如下:

rem: author is czb

rem: create scripts time 2020-03-05

@echo off

set date_time=%date:~0,4%%date:~5,2%%date:~8,2%_0%time:~1,1%%time:~3,2%%time:~6,2% 

set suiji=%random%

echo initing………..

rem: 獲取昨天的時間

@echo off

set YE=%date:~0,4%

set MO=%date:~5,2%

set DA=%date:~8,2%

set DG=1

set/a vY1=%YE% %% 400

set/a vY2=%YE% %% 4

set/a vY3=%YE% %% 100

if %vY1%==0 (set var=true) else (if %vY2%==0 (if %vY3%==0 (set var=false) else (set var=true)) else (set var=false))

set LY=%YE%

set LM=%MO%

if %MO:~0,1%==0 (set MO=%MO:~1,1%)

if %DA:~0,1%==0 (set DA=%DA:~1,1%)

if %DA% GTR %DG% (set/a LD=%DA%-%DG%) else (

if %MO%==1 (set/a LY=%YE%-1) (set/a LM=12) (set/a LD=31+%DA%-%DG%) else (

set/a LM=%MO%-1

if %MO%==3 (if %var%==false (set/a LD=28+%DA%-%DG%) else (set/a LD=29+%DA%-%DG%))

for %%a in (2 4 6 8 9 11) do (if %MO% == %%a (set/a LD=31+%DA%-%DG%))

for %%b in (5 7 10 12) do (if %MO% == %%b (set/a LD=30+%DA%-%DG%))))

if %LM% LSS 10 set LM=0%LM:~-1%

if %LD% LSS 10 set LD=0%LD:~-1%

set strLstDt=%LY%%LM%%LD%

echo 昨天的日期為:%strLstDt%

echo.

rem: dirPath 定義預備份文件的路徑(%LY%/%LM%/%LD% 固定格式)tarPath 定義備份文件的路徑 logpath 定義備份時產生的日志路徑

set  dirPath=C:\Users\Administrator\Desktop\ 新建文件夾 \111\%LY%/%LM%/%LD%

set  tarPath=C:\Users\Administrator\Desktop\ 新建文件夾

set  logpath=C:\Users\Administrator\Desktop\ 新建文件夾 \logs

rem: 查看預備份文件的個數以及大小

cd %dirPath%

setlocal enabledelayedexpansion

set /a countbegin = 0

set /a file1sizebegin = 0

for /f %%i in (dir /b /s /a-d) do (

        set /a countbegin=countbegin+1

        set /a file1sizebegin=file1sizebegin+%%~zi

)

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

echo 預備份目錄 %cd%    文件數:!countbegin! 個     文件大小和:!file1sizebegin! 個字節 %logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

)

popd

rem: 創建備份目錄以及備份預備份的文件

set str_time_first_bit= %time:~0,1%

if %str_time_first_bit%== (

set str_date_time=%date:~0,4%%date:~5,2%%date:~8,2%_0%time:~1,1%%time:~3,2%%time:~6,2%

)else ( 

set str_date_time=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%

)

echo The folder is about to be created: %strLstDt%_%suiji%_backups

set targetpath= %tarPath% \%strLstDt%_%suiji%_backups

mkdir %targetpath%

set copytimebegin=%date:~0,4%-%date:~5,2%-%date:~8,2%  %time:~0,2%:%time:~3,2%:%time:~6,2%

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

echo 創建要備份的目錄: %targetpath% 成功?。。?!%logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

set a=%time%

echo 開始執行備份,開始備份的時間為 %copytimebegin% %logpath%\ %strLstDt%_%suiji% .log

echo D|xcopy %dirPath%\*.*  %targetpath% /s /q

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

echo 備份文件到 %targetpath% 成功!?。。?logpath%\%strLstDt%_%suiji%.log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

set copytimeend=%date:~0,4%-%date:~5,2%-%date:~8,2%  %time:~0,2%:%time:~3,2%:%time:~6,2%

set b=%time%

echo 結束執行備份,結束備份的時間為 %copytimeend% %logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

rem: 查看備份文件的個數以及大小

cd %targetpath%

setlocal enabledelayedexpansion

set /a count = 0

set /a file1size = 0

for /f %%i in (dir /b /s /a-d) do (

        set /a count=count+1

        set /a file1size=file1size+%%~zi

)

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

echo 備份目錄 %cd%    文件數:!count! 個     文件大小和:!file1size! 個字節 %logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

)

popd

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

rem : 計算開始備份到結束備份總共花費的時間

@echo off

set /a h2=%a:~0,2%

set /a m1=1%a:~3,2%-100

set /a s1=1%a:~6,2%-100

set /a h3=%b:~0,2%

set /a m2=1%b:~3,2%-100

set /a s2=1%b:~6,2%-100

if %h3% LSS %h2% set /a h3=%h3%+24

set /a ts1=%h2%*3600+%m1%*60+%s1%

set /a ts2=%h3%*3600+%m2%*60+%s2%

set /a ts=%ts2%-%ts1%

set /a h=%ts%/3600

set /a m=(%ts%-%h%*3600)/60

set /a s=%ts%%%60

echo 本次備份!count! 個文件成功!??!備份總共耗時的時間為 %h% 小時 %m% 分 %s% 秒 %logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %logpath%\ %strLstDt%_%suiji% .log

echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %logpath%\ %strLstDt%_%suiji% .log

rem : 校驗預備份文件與備份文件

if %countbegin% == %count% if %file1sizebegin% == %file1size% (echo 預備份文件的個數、文件的大小   與 備份文件的個數、大小相等,此備份校驗成功?。。?!%logpath%\ %strLstDt%_%suiji% .log)

else (

echo 此備份備份失?。。。。?/p>

)

echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %logpath%\ %strLstDt%_%suiji% .log

echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

echo =============================================================================================== %logpath%\ %strLstDt%_%suiji% .log

exit

以上是“windows 中如何使用批處理備份目錄”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計6306字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 呼图壁县| 神木县| 新绛县| 江华| 礼泉县| 深州市| 永吉县| 盐城市| 余干县| 大石桥市| 永定县| 葵青区| 噶尔县| 休宁县| 隆林| 乐山市| 北宁市| 那坡县| 漳平市| 榆林市| 靖江市| 县级市| 上栗县| 类乌齐县| 泗阳县| 安岳县| 哈尔滨市| 巴青县| 怀柔区| 宜兴市| 如东县| 平江县| 湘乡市| 南靖县| 肇庆市| 垫江县| 阆中市| 陈巴尔虎旗| 金沙县| 宁德市| 贵德县|