如何使用PowerShell过滤器根据时间区分文件?

Doserv 发表于:13年08月30日 10:00 [翻译] DOIT.com.cn

  • 分享:
[导读]IT管理员们最常见的一个问题就是如何使用Windows PowerShell过滤器依据时间找到目标对象。经常以这种形式出现“我需要找到某个日期之前的所有文件。”

IT管理员们最常见的一个问题就是如何使用Windows PowerShell过滤器依据时间找到目标对象。经常以这种形式出现“我需要找到某个日期之前的所有文件。”

第一步就是确定日期:

$date = (Get-Date).AddDays(-90)

括号里面的命令会得到当前日期。AddDays()方法产生日期对象,括号里的-90会得到90天之前的日期。这个方法可以计算闰年、长度不同的与以及所有其他变量,其总是返回一个准确的日期。

在PowerShell v3中,你可以使用Get-ChildItem检索文件列表,使用–recurse包含子文件,使用–file(PowerShell 3中的新参数)返回文件。

Get-ChildItem –Path C:\Logs\ -Recurse –File

Where-Object –Filter { $PSItem.LastAccessTime –lt $date }

这些文件对象具有各种各样的与日期有关的属性,比如LastAccessTime。简单的过滤掉:

Get-ChildItem –Path C:\Logs\ -Recurse –File |

Where-Object –Filter { $PSItem.LastAccessTime –lt $date }

注意,在PowerShell 2中,必须将$PSItem替换为$_。还需要填补2中缺少的–File参数。

Get-ChildItem –Path C:\Logs\ -Recurse |

Where-Object –Filter { -Not ($_.PsIsContainer) } |

Where-Object –Filter { $_.LastAccessTime –lt $date }

不管怎样,这些命令的输出结果都是LastAccessTime是90天之前的那些文件。

[责任编辑:李洪亮]
李洪亮
本周,IBM在Hot chip会议上公布了Power 8架构处理器。新一代Power芯片工艺直接从45nm跳到22nm工艺,规则达到12核心,但由于规格过强,Power 8核心面积达到650mm?,比上代Power 7处理器的核心面积稍大些。
官方微信
weixin
精彩专题更多
存储风云榜”是由DOIT传媒主办的年度大型活动。回顾2014年,存储作为IT系统架构中最基础的元素,已经成为了推动信息产业发展的核心动力,存储产业的发展迈向成熟,数据经济的概念顺势而为的提出。
华为OceanStor V3系列存储系统是面向企业级应用的新一代统一存储产品。在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求。
联想携ThinkServer+System+七大行业解决方案惊艳第十六届高交会
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技术有限公司 版权所有.