使用bat脚本实现本地文件压缩与删除

  • 压缩代码
  • 删除代码
  • 总结

压缩代码

@echo offrem rem: representative annotation
rem a:   representative compress command
rem -ag:representative current datetime
rem -ep:representative don't outer catalogue
rem ^:   representative br
rem D:\temp_files\backup-files\test.rar 代表文件在哪个位置  test.rar代表压缩包的名称
rem D:\temp_files\backup-files\ 代表文件压缩包需要存放在哪个位置rem 设置外层循环初始化值
set /a site=1rem 设置终止值
set num=3rem 获取需要执行的文件夹路径
rem out_loop
:set_file_pathif %site% equ 1 (set file_path=D:\TEMP\119.23.182.114\Backup_File\Full\YHBranchDB_Back&set to_path=Z:\119.23.182.114\Backup_File\Full\YHBranchDB_Back)^else if %site% equ 2 (set file_path=D:\TEMP\119.23.182.114\Backup_File\Differential\YHBranchDB_Back&set to_path=Z:\119.23.182.114\Backup_File\Differential\YHBranchDB_Back)^else if %site% equ 3 (set file_path=D:\TEMP\119.23.182.114\Backup_File\TransactionLog\YHBranchDB_Back&set to_path=Z:\119.23.182.114\Backup_File\TransactionLog\YHBranchDB_Back)rem 开启延时变量,内层自动遍历,延时变量引用: !!(双叹号)SETLOCAL ENABLEDELAYEDEXPANSION for /r %file_path%\ %%i in (*.bak) do (set file_name=%%~nxirem 替换字符 .bak替换成-bakset file_name2=!file_name:.bak=_bak!rem winrar.exe程序路径set winrar_path="D:\APPTOOLS\WinRAR\WinRAR.exe"rem 需要压缩的文件存放路径set from_path=!file_path!\!file_name!rem 压缩文件夹指定存放路径rem %to_path%\%file_name2%rem 执行压缩!winrar_path! a -ep !to_path!\!file_name2!.rar !from_path!rem 压缩完后删除原文件if !site! equ 2 (del /q !from_path!)if !site! equ 3 (del /q !from_path!))rem 外层循环初始化值+1set /a site=site+=1rem 判断外层条件是否满足 lep:小于等于
if %site% leq %num% goto :set_file_pathecho backups compress is complete......rem pause

删除代码

@echo offecho star......rem 设置外层循环初始化值
set /a site=1rem 设置终止值
set num=3rem 判断获取需要执行的文件夹路径,并且设置天数
rem out_loop
:set_file_pathif %site% equ 1 (set folder_path=Z:\119.23.182.114\Backup_File\Full\YHBranchDB_Back&set days=-7)^else if %site% equ 2 (set folder_path=Z:\119.23.182.114\Backup_File\Differential\YHBranchDB_Back&set days=-15)^else if %site% equ 3 (set folder_path=Z:\119.23.182.114\Backup_File\TransactionLog\YHBranchDB_Back&set days=-30)rem 开启延时变量,内层自动遍历,延时变量引用: !!(双叹号)SETLOCAL ENABLEDELAYEDEXPANSION for /r %folder_path%\ %%i in (*.rar) do (rem 文件名set file_name=%%~nxirem echo !file_name!rem 截取日期set file_date=!file_name:~16,10!set current_date=%date:~0,4%-%date:~5,2%-%date:~8,2%rem “-”号当前日期加1天,不带“-”号当前日期减1天call :DateDay "!file_date!" !days! target_date rem 设置格式set target_date=!target_date:~0,4!-!target_date:~4,2!-!target_date:~6,2!rem echo target_date=!target_date!rem 判断如果当天日期大于等于文件的日期加上指定的日期,则被判断为过期文件,执行删除if !current_date! geq !target_date! (del /q !folder_path!\!file_name!rem echo "this file is due... ")else (rem echo "this file is valid...")rem echo "=======================")rem 外层循环初始化值+1set /a site=site+=1rem 判断外层条件是否满足 lep:小于等于
if %site% leq %num% goto :set_file_pathecho delete is completed......
pauserem 封装日期方法
:DateDay
@echo off
for /f "tokens=1-3 delims=/-:\, " %%a in ('echo/%~1') do (
set /a yy=%%a,mm=100%%b%%100,dd=100%%c%%100)
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
set /a i=j-%~2,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %~3=%yy%%f%%mm%%f%%dd%&goto :EOF

总结

BAT脚本学习参考链接:
(1)https://www.cnblogs.com/huangye-dream/p/3584965.html
(2)https://www.cnblogs.com/vincent2012/p/3239672.html
(3)https://www.cnblogs.com/tangxin-blog/p/8058133.html
(4)https://blog.csdn.net/jc_benben/article/details/74178322
(5)https://www.jb51.net/article/52744.htm
(6)https://blog.csdn.net/qq981378640/article/details/52422662
(7)https://blog.csdn.net/Victor2code/article/details/103550260

以上链接若有侵权,请联系删除…

使用bat脚本实现本地文件压缩和删除相关推荐

  1. bat脚本执行exe文件_将批处理(BAT)脚本转换为可执行(EXE)文件

    bat脚本执行exe文件 When you get down to it, batch files and executable files work pretty much the same way ...

  2. bat脚本更新本地Git仓库

    bat脚本更新本地Git仓库 回到家从远程拉代码的时候觉得每次都要输入指令很麻烦,突然想到既然每次执行的命令都一致,是否可以写一个脚本来实现自动拉取,查询网络后编写如下简易版脚本: echo off ...

  3. 使用bat脚本上传文件到Linux服务器

    前言 本文中运行环境为Win10, 脚本类型为bat脚本, 上传文件使用WinScp客户端进行上传, 下面开始教程 一. 安装WinScp客户端 WinScp客户端官方链接: https://wins ...

  4. BAT脚本实现FTP文件自动传输

    BAT脚本实现FTP文件自动传输 第一个脚本代码,用于输入用户名密码和路径 open 192.168.100.5 ftp 123123 cd pub binary ::批量传输 ::mput D:\t ...

  5. Windows使用bat脚本上传文件到Linux(免密上传)

    在工作中接到了使用bat命令定时上传文件到Linux的需求,总是需要手动输入密码挺麻烦,搞了两个比较简单的免密上传的方法.一.使用OpenSSH.二.使用FTP 一.使用OpenSSH bat内容在: ...

  6. Github 之删除文件或者文件夹(不影响本地文件,只删除远端的指定文件或者文件夹) 操作

    Github 之删除文件或者文件夹(不影响本地文件,只删除远端的指定文件或者文件夹) 操作 目录 Github 之删除文件或者文件夹(不影响本地文件,只删除远端的指定文件或者文件夹) 操作 一.简单介 ...

  7. Vbs脚本将本地文件上传到Azure存储账户

    说到Azure相信大家都已经非常熟悉了,所以就不做多介绍了,我们都知道在Azure上有一个存储账户,在存储账户下可以可以创建容器,可以存放数据,近期公司呢为了达到数据的安全性,准备将本地的备份数据给A ...

  8. 跨服务器获取文件shell,shell脚本实现本地文件与服务器文件同步

    为何创建此脚本是因为方便项目的布署,不需要手动地去同步不同的项目,而只需要简单的执行shell脚本,输入项目名就能发布到服器上. 1.shell文件代码 #!/bin/sh read -t 30 -p ...

  9. Windows下使用bat脚本批量创建文件夹

    环境 Windows10 创建非中文目录 新建bat文件,例如: a.bat, 脚本内容如下 md aa bb cc 双击a.bat运行,效果如下 创建中文目录 修改a.bat,内容如下: md 目录 ...

  10. bat脚本获取cfg文件内的变量值

    version.cfg文件内容如下: project='XXX' version_number='V01.01' description='' 写一个bat脚本读取versin.cfg文件获取里面ve ...

最新文章

  1. 浅显易懂 Makefile 入门 (03)— 目标文件搜索(VPATH 和 vpath 的区别和使用)、隐含规则
  2. SAP Spartacus 项目执行 yarn build --stats-json 遇到的一些错误消息
  3. SalesArea F4 help implementation
  4. 「镁客·请讲」安智汽车郭健:ADAS是一个链条式的系统,每个模块都必须做好...
  5. UI设计素材|如何为数据可视化选择更漂亮的颜色
  6. 谷歌语音识别_谷歌 语音识别 语种 - 云+社区 - 腾讯云
  7. caffe︱Pascal VOC 2012 Multilabel Classification Model
  8. 贼好理解,这个项目教你如何用百行代码搞定各类NLP模型
  9. VS2015 输出目录、中间目录、目标文件名、工作目录
  10. Matlab带阻滤波器实验报告,有源滤波器实验报告
  11. RSA加密解密及制作软件license
  12. 遗传算法入门(连载之十) 神经网络入门(连载预告)
  13. CAtia_打开提示:许可证过期怎么办
  14. 资源-1.中国2000个城市名和对应的拼音
  15. java知识体系介绍
  16. 有趣的黑掉卫星Hack-A-Sat CTF比赛——模拟卫星视角beckley
  17. java long 0_Java中的long类型和Long类型比较大小
  18. [3]_人人都是产品经理
  19. Jess的各种小问题
  20. linux游戏龙芯能玩吗,历时三个月,我终于成功搭建了龙芯平台,竟可以玩cf和lol你敢信?...

热门文章

  1. C盘中哪些文件可以删除?
  2. 大写金额转换(报销大写金额转换)
  3. 如何在项目中规范git commit格式
  4. bittorrent_最好的免费BitTorrent客户
  5. java的程序的创建快捷方式_关于Swing:如何为Java程序创建快捷方式图标
  6. SAMBA配置 “你可能没有权限访问网络资源”的问题解决方法
  7. 湖南大学计算机博士好考吗,湖南大学最年轻的副教授是什么水平
  8. 社科院与杜兰大学金融管理硕士项目——苦练基本功是通向成功的必经之路
  9. 黑客语言——Ruby
  10. NOIP2017提高组广东省成绩