一、简单介绍
可以把文件进行复制和压缩备份,文件夹只能压缩备份,可以指定所留备份的数量,如果自己有ftp服务器,可以同步上传备份。
二、环境准备
1.如要要压缩备份,需要winrar,一般Windows系统默认就有,把C:\Program Files\WinRAR下的rar.exe拷贝C:\Windows\System32下就可以在dos中调用
2.如果要ftp备份,需要curl工具,在https://curl.haxx.se/windows/ 下载,把curl.exe拷贝到C:\Windows\System32下即可
3.备份的文件个数计数器需要一个文本文件进行保存,内容只能为a数字,注意不要空格,如a1
三、使用
1.通过脚本进行调用,脚本方式如下:
call 下面的脚本名字 备份的文件或文件夹所在目录 备份的文件或文件夹名 备份到的目录 备份计数文件 所留备份数量 备份方式(0复制、1压缩) 是否ftp(1启用 0关闭)
例如:

call E:\ftp\backup.bat E:\ftp\ 1.xlsx D:\ftp\backup D:\ftp\backup\count.txt 30 0 0

2.backup.bat内容如下:

::%1 备份文件或目录所在目录 %2备份文件或目录名 %3 备份到的目录 %4 count文件 %5 所留个数 %6为备份方式(0复制、1压缩)%7 ftp(1启用 0关闭)
::2019年11月24日22:25:04 测试正常工作
::ftp设置
set ftp_user=test
set ftp_passwd=123456
set ftp_ip=192.168.1.1
::检查相关文件是否存在,如果不存在报警
if not exist %1\%2 msg %username% %1\%2 not exist && exit
if not exist %3 msg %username% %3 not exist && exit
if not exist %4 msg %username% %4 not exist && exit
if "%4"=="" msg %username% %4 is null && exit
if "%5"=="" msg %username% %5 is null && exit
if "%6"=="" msg %username% %6 is null && exit
::开始备份
set /p n=<%4
set n=%n:~1,99%
if %6 equ 0 copy %1\%2 %3\%n%-%2  && if %7 == 1 curl -u %ftp_user%:%ftp_passwd% -T "%3\%n%-%2" ftp://%ftp_ip% || msg %username% ftp_upload error !
if %6 equ 1 rar a %3\%n%-%2.zip %1\%2 && if %7 == 1 curl -u %ftp_user%:%ftp_passwd% -T "%3\%n%-%2.zip" ftp://%ftp_ip% || msg %username% ftp_upload error !
::开始清理
set /a n+=1
echo a%n%>%4
if %n% gtr %5 echo a1>%4

3.把脚本添加到关机项目中,每次关机就会自动备份一次,十分方便,方法如下:运行-gpedit.msc-计算机配置下的Windows设置-脚本(启动/关机)下添加要运行的脚本即可