bat脚本--备份30天前的文件

@echo off

::三十天以前的文件

set dayago = 30
>$.vbs echo dst_date = date()- %dayago%
>>$.vbs echo date_str = right(year(dst_date),4) ^& right("0" ^& month(dst_date),2) ^& right("0" ^& day(dst_date),2)
>>$.vbs echo wscript.echo date_str
for /f %a in (‘cscript /nologo $.vbs‘) do set dstdate=%a
set dstdate=%dstdate:~0,4%/%dstdate:~4,2%/%dstdate:~6,2%

::以上是算出30天以前的日期并格式化为 yyyy/mm/dd

::以当前日期作为zip文件名

set "ymd=%date:~,4%%date:~5,2%%date:~8,2%"
set p=d:\test
set fn=*.*
set c=c:\Program Files\HaoZip
pushd %p%
md %p%\111
FORFILES /D -%dstdate% /C "cmd /c move @file d:\test\111\"
pushd %c%
HaoZipC u -tzip %p%\%ymd% /t.zip d:/test/111/*.*
rd /s /q %p%\111
时间: 2024-11-08 13:00:25

bat脚本--备份30天前的文件的相关文章

Bat脚本备份sqlserver 表结构、存储过程、函数、指定表数据

Bat脚本备份sqlserver 表结构.存储过程.指定表数据: @echo off cd /d %~dp0 ::备份表结构.存储过程和部分配置表的数据 set LogFile=report.log set servername="192.168.43.9" set DBname="TEST" set User="sa" set Password="123456*" echo Deployed Time: %date% %ti

shell脚本删除N天前的文件夹-----附linux和mac上date命令的不同

背景: 每日构建的东西,按日期放到不同的文件夹里.如今天的构建放到2015-06-01里,明天的就放到2015-06-02里,依次类推.时间久了,需要一个脚本删除N天前的文件夹.(本例中N=7,即删除一周前的构建). 下面直接上代码,linux版: #! /bin/bash historyDir=~/test/ today=$(date +%Y-%m-%d) echo "---------today is $today-----------" tt=`date -d last-week

sqlserver2008用bat脚本备份时报错因为库名有中横杠【原创】

提示原因是数据库名字有中横岗“-” 解决方法:用中括号把名字括起来就可以了 call :backupone [数据库名-new] 完整备份脚本如下 @ECHO ON set DATE=%date:/=-% set bakupfolder=F:\bakup\ rem 1按子目录保存备份文件;0不按 set lay_in_subfolder=1 call :backupone [数据库名-new] goto :EOF @ECHO OFF :backupone setlocal echo %1 set

bat脚本实现 按当前日期创建空白文件

@echo off set date=%date:~,10% set fileName=日志_%date:/=%.txt set filePath=2016-10 cd ./%filePath% echo 2> %fileName% 记录: (1):~  是截取字符串 的意思 比如:~2,10%(2):/=% 是将/替换为空的意思(3)echo.是显示空行(4)用echo > file.txt 文件内容不为空

linux下日志自动清理(find删除30天前的数据)

linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧. 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30

linux的一个find命令配合rm删除某天前的文件

语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例1: 将/usr/local/backups目录下所有10天前带"."的文件删除 find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \; find:linux的查找命令,用户查找指定条件的文件 /usr/local/backups:想要进行清理的任意目录 -

linux中find命令配合rm删除某天前的文件

语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例1: 将/usr/local/backups目录下所有10天前带"."的文件删除 find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \; find:linux的查找命令,用户查找指定条件的文件 /usr/local/backups:想要进行清理的任意目录 -

清除svn文件目录的bat脚本

清理SVN目录中配置文件.svn的bat脚本,去除这些不需要的文件,减少文件体积 第一个:比较直接的代码,循环删除当前目录及子目录下所有的SVN文件 代码如下: @echo on color 2f mode con: cols=80 lines=25 @REM @echo 正在清理SVN文件,请稍候...... @rem 循环删除当前目录及子目录下所有的SVN文件 @rem for /r . %%a in (.) do @if exist "%%a\.svn" @echo "

bat脚本:自动压缩n天前的文件【转载】

原文如下: bat脚本:自动压缩n天前的文件-中原小伙-ChinaUnix博客http://blog.chinaunix.net/uid-24946452-id-1651762.html 磁盘空间有限,又不能删除,只能定期对旧文件进行压缩以尽量节省空间.在windows2003上做这件事情比较简单,在之前的平台上就麻烦些.主要是查找n天前的文件的实现有区别.在2003及以后的windows系统版本,都有一个forfiles的命令来查找文件,之前的只能通过bat命令来实现这个功能了.这两种方法的详