无法让powershell检查文件夹以查找在过去一小时内修改的文件

时间:2017-07-06 22:01:14

标签: loops date time

把头发拉过这条线。 我唯一能想到的是格式化问题。

foreach((Get-ChildItem $ CompanyDir)中的$ file){

检查文件是否在过去一小时内被修改

if ($file.LastWriteTime -ge [datetime]::Now.AddMinutes(-60)) 

这似乎有自己的想法 有时候它有效,但有些时候它不起作用 我每次尝试都会得到不同的结果 基本上它搜索文件夹,如果在最后一小时修改了文件,它将压缩整个文件夹。 即使在过去的一小时内没有修改过文件,它似乎也在拉链 今天早些时候它并没有拉链,但如果我把分钟移动到像6000这样荒谬的东西,它就会拉链 我知道这是正确的,因为当我将它放入变量并输出它时,它是一小时前的时间 ($ file.LastWriteTime -ge [datetime] :: Now.AddMinutes(-60))

之前它根本没有工作。我将文件夹结构移动到另一个驱动器,它开始工作。不知道为什么会这样,因为文件夹应该具有相同的属性,无论它们的位置如何。 我可能已经离开这个了,但我现在没有想法,所以任何输入都会有很大的帮助。

由于

1 个答案:

答案 0 :(得分:0)

很难说出你在这里发布的那些小小的东西是什么,但...... 你可以更清楚地知道每个$文件是什么,你可能会得到你不感兴趣的东西 你的意思是通过潜艇递减吗? 您想要检查文件的每种方式,还是只检查"真实的"文件?

Get-ChildItem [[-Filter]] [-Attributes      {ReadOnly |隐藏|系统|     目录|档案|设备|正常|临时| SparseFile | ReparsePoint |压缩|离线|     NotContentIndexed |加密| IntegrityStream | NoScrubData}]