返回顶部
首页 > 资讯 > 精选 >windows中如何使用批处理备份目录
  • 902
分享到

windows中如何使用批处理备份目录

2023-06-05 16:06:28 902人浏览 薄情痞子
摘要

这篇文章主要介绍windows中如何使用批处理备份目录,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!以下是需要备份文件的一个bat 批处理脚本,备份昨天C:\Users\Administrator\Desk

这篇文章主要介绍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 此备份备份失败 !!!!

)

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

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

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

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

exit

以上是“windows中如何使用批处理备份目录”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: windows中如何使用批处理备份目录

本文链接: https://lsjlt.com/news/243476.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • windows中如何使用批处理备份目录
    这篇文章主要介绍windows中如何使用批处理备份目录,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!以下是需要备份文件的一个bat 批处理脚本,备份昨天C:\Users\Administrator\Desk...
    99+
    2023-06-05
  • 如何使用批处理实现U盘数据备份
    这篇文章主要为大家展示了“如何使用批处理实现U盘数据备份”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用批处理实现U盘数据备份”这篇文章吧。说明: 1、自动检测所有可移动磁盘(如要适用于软...
    99+
    2023-06-08
  • 如何使用批处理文件异地备份数据库
    这篇文章主要讲解了“如何使用批处理文件异地备份数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用批处理文件异地备份数据库”吧!为了保障服务器中数据的可恢复性,采用异地备份数据库方案...
    99+
    2023-06-09
  • 如何使用批处理枚举当前目录及子目录大小
    这篇文章主要介绍如何使用批处理枚举当前目录及子目录大小,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!枚举当前目录及子目录大小.bat代码如下:for /r %%i in (.)...
    99+
    2023-06-09
  • 如何使用FORFILES命令来删除SQLServer备份的批处理
    这篇文章主要介绍“如何使用FORFILES命令来删除SQLServer备份的批处理”,在日常操作中,相信很多人在如何使用FORFILES命令来删除SQLServer备份的批处理问题上存在疑惑,小编查阅了各式...
    99+
    2024-04-02
  • 如何使用批处理上传文件到ftp目录下
    小编给大家分享一下如何使用批处理上传文件到ftp目录下,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为了快速将项目中开发的补丁程序通过ftp快速上传到linux下...
    99+
    2023-06-08
  • 如何使用批处理实现MaxDOS V6系统备份查看器
    这篇文章主要介绍了如何使用批处理实现MaxDOS V6系统备份查看器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:@echo off :_max mode con:...
    99+
    2023-06-08
  • 如何理解批处理命令目录跳转
    这篇文章主要讲解了“如何理解批处理命令目录跳转”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解批处理命令目录跳转”吧!当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候...
    99+
    2023-06-08
  • 批处理如何实现临时目录清理
    小编给大家分享一下批处理如何实现临时目录清理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码如下:@echo off rem 可以...
    99+
    2023-06-09
  • 批处理如何实现一键批量备份网站数据
    这篇文章将为大家详细讲解有关批处理如何实现一键批量备份网站数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。把以下代码另存为AutoBAK.BAT文件放到你要打包的目录下双击执行即可!非常适合虚拟主机商批...
    99+
    2023-06-08
  • 如何实现discuzX2全站自动备份批处理
    这篇文章给大家分享的是有关如何实现discuzX2全站自动备份批处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:@echo off echo 开始备份本站重要数据!&nb...
    99+
    2023-06-08
  • 如何实现BAT批处理判断目录在%Path%中
    本篇内容介绍了“如何实现BAT批处理判断目录在%Path%中”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!貌似没有很优美的做法,只能把%Pa...
    99+
    2023-06-08
  • 批处理bat+Rar如何实现批量独立压缩目录和解压目录
    小编给大家分享一下批处理bat+Rar如何实现批量独立压缩目录和解压目录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!c:\r\a c:\r\b cd c:\r ...
    99+
    2023-06-08
  • 如何使用批处理脚本在特定目录中启动Git-Bash窗口
    这篇文章主要介绍如何使用批处理脚本在特定目录中启动Git-Bash窗口,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!问题描述平时想要在项目目录中输入git命令,我需要先打开git-bash窗口,然后还要cd到项目目录...
    99+
    2023-06-08
  • 轻松备份Windows活动目录的方法及使用的硬件设备
    因为突然停电损害域控制器的所有驱动器,使你丢失了多年工作的成果,或者一台域控制器的崩溃,对于网络管理员而言,无疑是一场恶梦,那么活动目录应该如何来备份呢xp系统之家小编就给大家讲解这一问题,在讲解这一问题之前,你首先要了...
    99+
    2023-06-03
    Windows 备份 活动目录 方法 硬件 活动 目录 设备
  • 如何用linux批量备份服务器配置文件和目录的脚本
    本篇内容介绍了“如何用linux批量备份服务器配置文件和目录的脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!功能:1. 只在备份机执行,...
    99+
    2023-06-09
  • 如何批处理完美实现FTP远程备份数据
    本篇内容介绍了“如何批处理完美实现FTP远程备份数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!举例说明:  &nbs...
    99+
    2023-06-08
  • 批处理bat如何实现目录比较工具
    小编给大家分享一下批处理bat如何实现目录比较工具,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!更新日志: v4: 1.增加了计算的进度显示; 2.找了新版的 m...
    99+
    2023-06-08
  • 如何使用批处理实现自动登录QQ
    这篇文章给大家分享的是有关如何使用批处理实现自动登录QQ的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码: start "" "C:\Program Files\Tencent\Q...
    99+
    2023-06-08
  • PHP开发中如何处理高可用和灾备备份
    在现代网络应用程序开发中,高可用性和灾备备份是非常重要的考虑因素。高可用性指的是系统能够在面对故障时保持对用户的可用性。灾备备份指的是在面对严重故障或灾难时,能够迅速恢复系统并保证数据的完整性和可用性。在PHP开发中,我们可以采取一些方法来...
    99+
    2023-10-21
    PHP开发 高可用架构 灾备备份
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作