利用PS脚本自动删除7天之前建立的目录-方法1!
目前有一个备份目录,目录名称为d:\temp\bak目录,在这目录下,根据备份要求,自动生成了如下目录的列表:
20131012
20131011
20131010
20131009
20131008
20131007
.............
现在需要自动删除7天之前的目录,只保留最近一周的目录备份数据。
当然删除方式有很多种方法,我们这里先讲下这个我们目前采用的方法,先把脚本写出来,我们根据脚本进行分析:
param
(
$removepath="d:\temp\bak",
#设定需要自动删除的目录
$logfilepath="d:\log\remove.log"
#制定删除文件的动作日志写入文本文件
)
$KeepDate=&{(Get-Date).tostring("yyyyMMdd"),(Get-Date).adddays(-1).tostring("yyyyMMdd"),(Get-Date).adddays(-2).tostring("yyyyMMdd"),(Get-Date).adddays(-3).tostring("yyyyMMdd"),(Get-Date).adddays(-4).tostring("yyyyMMdd"),(Get-Date).adddays(-5).tostring("yyyyMMdd"),(Get-Date).adddays(-6).tostring("yyyyMMdd")}
#这里将保留的周期求出来,(get-date) 求出来当前的时间,(get-date).adddays(-1) 求出的是昨天的日期,(get-date).adddays.tostring("yyyyMMdd")是将时间转换成年月日的时间的字符串,求出来的字符串将是{20131012,20131011,...}
$RemoveDirectorys=Get-ChildItem -Path $removepath -Exclude $KeepDate
#得出除了保留了目录之外的其他目录或者文件
if(!(test-path $logfilepath))
#判断是否存在日志文件,这里是不存在的意思
{
New-Item -ItemType file -Path $logfilepath
#新建一个文件,文件名称为相应的文件
}
foreach($RemoveDirectory in $RemoveDirectorys)
#根据得出的目录进行循环
{
$removestring="位于"+$removepath+"的"+$RemoveDirectory.name+"目录于"+(Get-Date).tostring("yyyy年MM月dd日HH时mm分ss秒")+"被删除"
#计算需要在日志中记录的日志的内容
Remove-Item -Path $RemoveDirectory.fullname -force -Recurse
#依据循环的文件集合删除当前的目录
if($?)
#如果命令执行成功,则执行如下语句!
{
$removestring |Out-File -Append -filepath $logfilepath
#以追加的方式将日志写入日志文件
}
}
OK ,上面就是执行过程的解释,我们来看一个例子,图片如下:
接下来我们执行下这个脚本:
执行完成后,我们发现目录和文件已经被删除:
在日志文件中呢,我们能够很明显的看到日志记录的内容:
利用PS脚本自动删除7天之前建立的目录-方法1!的更多相关文章
- 利用任务计划自动删除指定日期的SQLServer备份文件
利用任务计划自动删除指定日期的SQLServer备份文件 命令FORFILES [/P pathname] [/M searchmask] [/S] [/C command] [/D ...
- 利用ant脚本 自动构建svn增量/全量 系统程序升级包
首先请允许我这样说,作为开发或测试,你一定要具备这种 本领.你可以手动打包.部署你的工程,但这不是最好的方法.最好的方式就是全自动化的方式.开发人员提交了代码后,可以自动构建.打包.部署到测试环境. ...
- 利用ant脚本 自动构建svn增量/全量 系统程序升级包【转】
引文:我们公司是做自己使用产品,迭代更新周期短,每次都花费较多时间和精力打包做增量更新,发现了一篇文章用于 自动构建svn增量/全量 系统程序升级包,收藏之,希望可以通过学习,更加简化我们的工作. 文 ...
- 利用js代码自动删除稿件的普通弹幕
事情的起因是在b站投稿了一个高级弹幕测试的视频(av9940487),但是由于b站的弹幕池机制是新的弹幕顶掉旧的弹幕,所以导致一些人发的高级弹幕很快就被顶掉了. 所以就想着写个脚本来自动删除属性为普通 ...
- Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
- 利用shell脚本自动获取awr报表
观察Oracle数据库性能,oracle自带的awr功能为我们提供了一个近乎完美的解决方案,通过awr特性我们可以随时从数据库提取awr报告.通过报告可以了解一个系统的整个运行情况,生成的报告包括多个 ...
- [BAT]win7下用批处理脚本自动删除7天以前创建的文件
set JmeterPath=D:\apache-jmeter-2.7 forfiles /p %JmeterPath%\extras /m *.html -d -7 /c "cmd /c ...
- 自动删除超过30天文件的vbs脚本【转发】
利用代码制作自动删除超过30天的文件及文件夹的vbs脚本,定期清理文件夹中长时间无用文件. 1.首先在新建一个文本文档,粘贴代码(代码可通过添加微信公众号vbs_edit(VBS脚本之家)回复018获 ...
- shell脚本自动清理服务器日志、图片等信息
在做性能测试的时候,linux服务器时常会产生大量数据,如日志信息,图片信息,文件信息等,压测一段时间后,导致服务器磁盘空间暂满而崩溃,每天手动清理比较麻烦, 利用shell脚本自动清理,脚本如下 1 ...
随机推荐
- 1880-A. 偷吃可耻
描述 EATER买来一堆好吃的,总共N+1份,共(N+1)/2种,每种准备了两份,同种都标上了相同的编号.本来准备与他家吃货一同分享,结果却发现被人偷吃了..EATER发现总数少了一个,所以你的任务就 ...
- VC多文档编程技巧(取消一开始时打开的空白文档)
VC多文档编程技巧(取消一开始时打开的空白文档) http://blog.csdn.net/crazyvoice/article/details/6185461 VC多文档编程技巧(取消一开始时打开的 ...
- !!Python字典增删操作技巧简述+Python字典嵌套字典与排序
http://developer.51cto.com/art/201003/186006.htm Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些 ...
- windows 上rails3.2 + ruby1.9环境搭建
题外话:本文是通过参考网友资料,亲自尝试过后写的,有不对之处,还请网友指正! 1.搭建环境 准备ruby1.9.3 下载地址: 下载地址:http://rubyforge.org/frs/?group ...
- 【HDOJ】1114 Piggy-Bank
DP,先将coins按照重量排序可以优化. #include <stdio.h> #include <stdlib.h> #define MAXNUM 10005 #defin ...
- scaleform mobile sdk for android 多点触摸 修正
修正 scaleform 的多点触控 (随手一记 给后来的人做个参考) scaleform 版本号 4.2.24 (估计这就是最后一个 移动版的版本了,万年没有更新了) 开始 一直以为 scalefo ...
- 去除浏览器下jquey easyui datagrid、combotree 缓存问题
在页面脚本中加入以下内容即可: $.ajaxSetup ({ cache: false //关闭AJAX相应的缓存 });
- 虚拟主机apache
1.虚拟主机配置 windows: 1)加载配置虚拟主机的配置文件,在Apache/conf中找到httpd.conf文件,并搜索出以下的两句话,将Include conf/extra/httpd-v ...
- Ubuntu Broadcom无线网卡驱动安装
刚装的Ubuntu,发现Broadcom无线网卡没工作, 原来手贱,在liveCD 把wireless禁用了, ubuntu所以认为你机器,没有wireless模块,所以就没有安装wireless驱 ...
- POJ -- 3233 求“等比矩阵”前n(n <=10^9)项和
Matrix Power Series Description Given a n × n matrix A and a positive integer k, find the sum S = ...