powershell 删除7天前的文件

$today=Get-Date
#"今天是:$today"
#昨天
#"昨天是:$($today.AddDays(-1))"
#明天
#"明天是:$($today.AddDays(1))"
#一周前
#"一周前是: $($today.AddDays(-7))"
#五个月前
#"五个月前:$($today.AddMonths(-5))"
#十年之前
#"十年之前:$($today.AddYears(-10).Year)年,我们是朋友."
#日期格式化
#"格式化日期:" + $today.ToString('yyyy-MM-dd')
$7day=$($today.AddDays(-7).ToString('yyyy-MM-dd'))
#$7day $localdbdir="D:\database_bak"
$remotedbdir="D:\master_database_bak"
$downonlinefiledir="D:\db_online_bak" #删除7天前的文件 function delfiles
{
#布尔类型转换成整数
$result=Test-Path $_.FullName |foreach { [int] $_ }
if ($result -eq 1) {
del $_.FullName
"删除文件成功!"
}
else{
"文件不存在"
break
}
}
#Test-Path $downwebfiles function delfile
{
if($args.Count -eq 0)
{
"No argument!"
}
else
{ $args | foreach { delfiles "$($_)"}
}
} function delfilelist
{
#$args
if($args.Count -eq 0)
{
"No argument!"
}
elseif($args -eq $downonlinefiledir)
{
Get-ChildItem -Path $args -Recurse -ErrorAction SilentlyContinue -Filter *.rar |Where-Object { $_.Extension -eq '.rar' }|`Where-Object -FilterScript {($_.LastWriteTime -lt $7day) -and ` ($_.PsISContainer -ne $True)} |
Select-Object FullName|
ForEach-Object {delfiles $_.FullName}
}
else
{
Get-ChildItem -Path $args -Recurse -ErrorAction SilentlyContinue -Filter *.bak |Where-Object { $_.Extension -eq '.bak' }|`Where-Object -FilterScript {($_.LastWriteTime -lt $7day) -and ` ($_.PsISContainer -ne $True)} |
Select-Object FullName|
ForEach-Object {delfiles $_.FullName}
}
} delfilelist $localdbdir
delfilelist $remotedbdir
delfilelist $downonlinefiledir

  

powershell 删除7天前的文件的更多相关文章

  1. windows下自动删除n天前的文件

    使用windows2003下的内置命令forfiles配合计划任务可以实现自动删除n天前的文件. windows2003中设定自动执行的计划任务很简单. 一.脚本编写 forfiles命令用法: Fo ...

  2. 用批处理文件自动备份文件及文件夹,并自动删除n天前的文件

    原文:用批处理文件自动备份文件及文件夹,并自动删除n天前的文件 ---恢复内容开始--- 下是备份的批处理,添加到"计划任务"中,设定时间自动运行 复制代码 代码如下:@echo ...

  3. 操作LOG文件-删除log目录下,所有的空文件-删除5天前的文件

    # 1.logs目录下,有一部分文件是空的# 1.删除log目录下,所有的空文件# 2.删除5天前的文件 # 需求分析:# 1.os.walk()获取到所在以.log结尾的文件# 2.判断文件的大小, ...

  4. bat脚本删除一周前的文件

    bat脚本删除7天前的文件 @echo off forfiles /p D:\logstash-1.4.2\bin\ /m *.log -d -7 /C "cmd /c del /f @pa ...

  5. 用批处理文件删除n天前的文件

    原文:http://blog.csdn.net/leehq/archive/2007/08/03/1723743.aspx 公司服务器用来备份数据的硬盘过段时间就会被备份文件占满,弄得我老是要登录到服 ...

  6. linux查找删除某天前的文件(转载)

    语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例1: 将/usr/local/backups目录下所有10天前带 ...

  7. 删除N天前的文件(夹)与拷贝文件到共享盘的批处理

    rem ======= 删除目录 7天前目录 ========= forfiles /P "E:\Folder" /S /D -7 /C "Cmd /C If @isdi ...

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

    语句写法: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例1: 将/usr/local/backups目录下所有10天前 ...

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

    语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例1: 将/usr/local/backups目录下所有10天前带 ...

随机推荐

  1. 如何将vs2015中的英文注释改为中文

    找一个中文版的vs 将 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework        文件夹 ...

  2. Gulp error in WebStorm: Failed to list gulp tasks

    I have the same problem with webstorm after install a updated version of node. The solution for me i ...

  3. Linux TC限制流量

    一.TC原理介绍 Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,主要是通过在输出端口处建立一个队列来实现流量控制. Linux流量控制的基本原理如 ...

  4. TCP输出 之 tcp_transmit_skb

    概述 tcp_transmit_skb的作用是复制或者拷贝skb,构造skb中的tcp首部,并将调用网络层的发送函数发送skb:在发送前,首先需要克隆或者复制skb,因为在成功发送到网络设备之后,sk ...

  5. VS下创建网站发布到IIS

    http://www.51zxw.net/show.aspx?id=27297&cid=410

  6. Android studio 下 NDK Jni 开发 简单例子

    1. 创建一个新的工程 2. 创建一个新的类 JniText.java  点击Build--Make Project  后     选中工程 点击F4键 sdk location 中 Android ...

  7. 四、使用jsonpath-JSON Extractor提取复杂响应中的数组及其他字段

    一.jsonpath实时调试url http://jsonpath.com/ 二.对于复杂响应的提取字段 1.json字符串如下: { "code": 0, "data& ...

  8. 配置Log4j 详解

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

  9. sql_profile 固定SQL执行计划

    使用 sql_profile 固定SQL执行计划 Table of Contents 1. 扯蛋 2. 利用SQL PROFILE固定执行计划 2.1. 查看原来语句的执行计划 2.2. 指定SQL使 ...

  10. ssh 的一个坑

    概述 今天我碰到 fabric 和 ssh 的一个坑,记录下来,供以后开发时参考,相信对其他人也有用. ssh 今天用 ssh 登录远程服务器用不了 npm,查了下,发现原因是: ssh登录时不会加载 ...