IT管理员们最常见的一个问题就是如何使用Windows PowerShell过滤器依据时间找到目标对象。经常以这种形式出现“我需要找到某个日期之前的所有文件。” 第一步就是确定日期: $date = (Get-Date).AddDays(-90) 括号里面的命令会得到当前日期。AddDays()方法产生日期对象,括号里的-90会得到90天之前的日期。
这个方法可以计算闰年、长度不同的与以及所有其他变量,其总是返回一个准确的日期。 在PowerShell v3中,你可以使用Get-ChildItem检索文件列表,使用–recurse包含子文件,使用–file(PowerShell ……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
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天之前的那些文件。
相关推荐
-
Windows Server 2012功能技巧大盘点
这里盘点了TechTarget 中国制作的有关Windows Server 2012重要特征的技术手册或专题,以帮助管理员认识与部署该产品。
-
为什么PowerShell变量内容不能进行比较?
学习PowerShell最困难的在于任何任务都有太多有效方式可选。目前你对PowerShell v3脚本了解有多少?为什么PowerShell变量内容不能进行比较?本文借实例说明。
-
感受PowerShell v3五大顶级功能
Windows PowerShell v3即将发布,它将让人难以忽视。shell的Version 3引入了一些相当重要的新功能,下面我们介绍这五大新功能。
-
新型图形界面驾到 PowerShell v3光芒闪耀
当你面对着一个命令行窗口进行工作时,屏幕中有文本,还有光标在闪烁,仅此而以,没有任何的工具栏和标签导航栏。这在你心目中并不是“图形用户界面 (GUI)”。