在 Windows 10 文件资源管理器搜索中按分钟长度进行搜索

在 Windows 10 文件资源管理器搜索中按分钟长度进行搜索

要搜索比特定时间长或短的视频/歌曲,请使用“length:”运算符。但是,当输入没有特定单位的数字时,Windows 文件资源管理器似乎只会在您将其写为秒 x 10^7 时识别秒(即,您必须输入 length:>130000000 才能找到长于 13 秒的内容)。

当搜索很长的视频时,这样做显然很麻烦。但我找不到要使用什么单位。我试过“>5 分钟”、“>5分钟”、“>5分钟”、“>5分钟”、“>5分钟”、“>5分钟”,而 Explorer 都没有识别出这些。Explorer 搜索中的分钟或秒的单位是什么?或者根本没有这样的单位?

PS 我知道“length:short”、“length:veryshort”类型的运算符仍然有效;但是它们的作用相当有限。

答案1

Explorer 搜索中的分钟或秒的单位是什么?或者没有这样的单位?

单位是1秒=10000000。如解释这里

如果我们使用 1000 万等于一秒这样的数字,我们可以按所需长度进行搜索。因此,要获取超过 10 分钟的文件,请使用 10 乘以 60 乘以 10000000 = 6000000000:

长度:>6000000000

1 分钟 = 60 秒 = 60 * 10000000 = 600000000

搜索长度大于 5 分钟的文件: 5 * 60 * 10000000 = 3000000000 长度:>3000000000

答案2

您多久需要做一次?您的专业水平如何?

一个简单的 PowerShell 函数可以接受运算符和小时、分钟和秒的值,并在资源管理器中执行搜索。如果您在要搜索的文件夹背景中按住 Shift 键并单击鼠标右键,则会打开指向该位置的 PoewrShell 窗口。然后执行按位置搜索并提示输入。

Function SearchByLength {
param(
    [Parameter(Mandatory=$true)]
    [String]
    $Operator,
    [Parameter(Mandatory=$true)]
    [Int]
    $Hours,
    [Parameter(Mandatory=$true)]
    [Int]
    $Minutes,
    [Parameter(Mandatory=$true)]
    [Int]
    $Seconds
)


    $Filter    = 'Length:{0}{1}' -f $Operator , ([TimeSPan]::New($Hours,$Minutes,$Seconds).TotalMilliseconds * 10000)
    $Shell     = New-Object -Com shell.application
    $SearchWin = @($Shell.Windows()) | Where { ($_.Document.Folder.Self.Path -like (Get-Location).Path) -or ($_.Document.Folder.Self.Path -like 'Search Results in*') }
    $SearchWin.Document.FilterView($Filter)
}

在此处输入图片描述

在此处输入图片描述

初次搜索后,返回 Po werShell 并再次运行该功能,它将使用您的新条件更新搜索窗口。

我只是把它们放在一起,因为这个问题让我很感兴趣。如果你感兴趣,我们可以完善它。它可以添加到你的 PowerShell 配置文件中,这样你打开 PowerShell 窗口时就可以使用它。

相关内容