【问题标题】:Finding Recently Downloaded Files in Power Shell在 Powershell 中查找最近下载的文件
【发布时间】:2017-08-02 11:54:51
【问题描述】:

我是一个盲人用户,我一直不得不去寻找什么东西破坏了一些人的电脑,这越来越烦人了。他们总是点击“安装此 Active-X”或“立即下载免费视频播放器”,然后我必须仔细研究所有内容。 我启动了一个 powershell 脚本来搜索 C:\ 以查找写入时间为 5 分钟前的文件,并且出于测试目的,Get-ChildItem 部分可以工作。现在我只想获取文件路径列表以使我的生活更轻松,但我错过了一些东西。 到目前为止,这是我所拥有的:

cd c:\
$fileizer = Get-ChildItem -Path . -exclude *.txt,*.log -ErrorAction SilentlyContinue -Recurse| ? {$_.LastWriteTime -gt (Get-Date).AddMinutes(-5)}
echo $fileizer

如果我只执行 Get-ChildItem 部分,结果如下:

PS C:\Users\tryso> c:\bin\hours.ps1


    Directory: C:\bin


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         8/1/2017   2:44 PM            169 hours.ps1


PS C:\>

显然,我将缩小路径的范围,而不仅仅是 C:\ 喜欢进入 C:\Windows\Temp 和 C:\Users\ 等等,我只是想知道如何解析所有内容只是给我一个文件列表和它们的路径。 我还想指出,5 分钟大是愚蠢的,是的,我知道。我这样做是为了让它在我的 C:\ 驱动器中尖叫,因为你会惊讶于 C:\ LoL 中有多少文件的写入时间为 0.5 小时。 最终,如果可能的话,我想弄清楚如何找到新文件,而不是最近的写入时间。 抱歉,如果我的查询是蹩脚的或重复的,我发现的唯一接近的例子由于某种原因对我不起作用,而且我在 PS 脚本方面还很新 - 但它变得非常令人上瘾和很棒的 LoL。

感谢一百万的帮助!

瑞恩

【问题讨论】:

  • 您名为$Fileizer 的变量包含有关每个文件的许多属性。要仅获取文件的完整路径,您可以询问 FullName 属性 - 例如将其更改为echo $fileizer.FullName
  • 对于“新”文件,请尝试查找 CreationTime 而不是 LastWriteTime。

标签: powershell


【解决方案1】:

Select-Object cmdlet 可以提取您要查找的信息。通常您会想知道不止一条结果信息,因此点源并不是最有效的。

尝试这样的方式来查看完整路径、大小和最后修改的时间戳:

Get-ChildItem -Path $path -exclude .txt,.log -ErrorAction SilentlyContinue -Recurse | Where-Object {$_.LastWriteTime -gt (Get-Date).AddMinutes(-5)} | Select-Object FullName, Length, LastWriteTime

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 2014-07-19
    • 2011-06-16
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多