我有一个文件夹,其中包含 30 GB 的媒体文件。按“日期”对它们进行排序以将它们拆分到“年_月”的新文件夹中需要花费几个小时。如何在大量文件列表中仅搜索/过滤出一年中选定的月份?
回复答题者
回复添加库的答案:
要在文件资源管理器中显示库,请选择“视图”选项卡,然后选择“导航窗格”>“显示库”。
如果我白天在图书馆安排:
我在图书馆的“Datum”列中仅看到相同的日期 05.08.2023:
但我发现这也是备份文件夹中已有的相同错误日期,因此,库不可能比数据中的更好:
即使我有来自 Ask Different Stack Exchange 的旧屏幕截图,为什么我必须多次重试复制并出现许多错误才能将 GB 的图像和视频文件从 iPhone 7 移动到 Windows PC?(这让我在这里问这个问题)
您可以看到 HEIC 数据中还有其他日期:
但如果我现在检查相同的数据,您会发现我无法再在文件列表中获取 HEIC 图像,可能是因为我将它们移动到了正确的月份。无论如何,如果那里只有 05.08.2023,库中也只能显示这个日期,如果 HEIC 文件丢失,那是我的错
虽然 Windows 上显示的 iPhone 文件夹中的“Datum”列包含真实日期,但请再次查看相同的文件:
这意味着备份已覆盖日期,并且通过选择“按月排列”进行快速索引排序的库技巧应该有效。这就是我接受它的原因。
使用 [field:month Year] 模式搜索(仅适用于小样本)
打开包含要过滤掉的文件的文件夹。在右上角的搜索框中,使用以下模式输入您的系统语言:
[column name]:[month in letters] [year]
德语示例:
使:
在搜索菜单中,您可以找到更多模式,例如本月、上个月等,如果单击它们,您还将在搜索框中看到它们的代码,准备进一步调整:
这样您就可以单击“änderungsdatum:letzten Monat”,这是上个月的“更改日期”(意味着不是过去一个月,而是最后一个日历月):
由于我需要它用于除“更改日期”之外的另一个字段/列,因此我可以将其更改为“数据”列:
这似乎不适用于大型文件列表
奇怪的是,这似乎不适用于所有文件,因为我对“2023 年 8 月”的过滤器及其移至“202308”文件夹的输出如下所示:
从该屏幕截图的几个示例图像可以看出,我仍然找到了其他月份的其他图像,事实证明这些都是HEIC和一些 JPG 图像(12000 张中的 11500 张)。再次在这个“202308”文件夹中进行过滤,我只得到“2023年8月”图像,因此,过滤器以某种方式在搜索输出中起作用,因此当将巨大且可能未完全加载的搜索输出移动到新的时,它可能不起作用文件夹?!
然后我想,当我不按 时,我可能只会捕获“datum:aug 2023”文件
Ctrl+A
,但在搜索输出中标记第一个到最后一个文件,然后才移动它们。但在测试中,当仅标记搜索输出的过滤文件时,标记的文件数量与整个文件夹中的文件数量相同,因此,该文件夹中的所有文件,即使其搜索输出必须包含较少的文件(因为我确信并非所有文件都是“2023 年 8 月”)。遗憾的是,这意味着搜索过滤器不能用于将所选月份与其他月份分开。因此,这个答案对于大文件夹来说是不够的,它只适用于较小的文件夹。我继续过滤掉其他月份并将它们移动到自己的year_month文件夹中,但由于我在“202308”文件夹中拥有所有HEIC文件,所以我没有找到任何HEIC图像。过滤器只找到了一些 MOV 和 JPG 文件:
我仍然继续至少移动那些可以找到的文件,以便大文件夹的大小至少缩小一点。现在,我仍然需要按“数据”对剩余的 11500 个文件进行排序,这将需要几个小时。奇怪的错误。
因此,我仍然没有找到一种方法从这个大文件列表中过滤掉那几个月的 HEIC 和其他图像,一个文件夹中的约 12000 个文件中仍然有约 11500 个 HEIC/PNG/JPG 图像。
按文件名分割
由于我有一个文件夹,其中所有 iPhone 的每月文件夹都合并了名称中的许多重复项,因此我最终将每个带有“(2)”的文件移动到一个新文件夹,并继续使用其他标记因此,按照名称开始分割,然后按日期列对较小的样本(然后只有 1300 个文件)进行排序:
这很有效,排序不再需要很长时间,然后我可以将这些文件拆分到每月的子文件夹中。
将 1000-2000 个文件的较小样本移动到另一个文件夹
但是,如果您没有类似名称之类的信息来实现此目的,则处理此问题的唯一方法是对数千个或更多文件进行随机采样,按日期对它们进行排序,将它们拆分到文件夹中,然后继续下一个样本。这就是我最终得到的结果,也许人们应该已经开始这样做了,因为它很快就完成了,即使您必须将文件移动到每月文件夹中数十次。至少,计算机可以处理它。
对其进行编程
我已经在Python中处理过很多次文件,并且使用pathlib库,应该很容易读取“数据”并将其移动到year_month文件夹,而无需手动执行任何操作。我没有花时间,但应该是比将文件数百次移动到正确的每月文件夹中更好的方法。
如果该文件夹已建立索引,您可以从该文件夹创建一个新库。尽管许多人忽略了库,但它们提供了
Arrange by >
后台上下文菜单的功能,这些功能通常提供您需要的所有搜索功能。不同的库类型或模板提供不同的
Arrange by >
选项。根据您的需要,即使您的文件是媒体,也可以使用Pictures
它提供的模板Month
,并显示每个月/年组的“堆栈”(虚拟文件夹),如以下屏幕截图所示:然后,要复制/移动文件,请双击堆栈将其打开,ctrl+A选择全部,然后根据需要复制/移动。
编辑:
Arrange by >
选项因库类型而异,与文件夹类型类似。如果您没有看到选项:Month
Day
Rating
Tag
那么您的库没有针对图片进行优化。这可以通过库的Properties
对话框进行更改:如果正如我怀疑的那样,这应该对您有用,
Datum
相当于Date
英语版本的Explorer中的列。这是一个相当独特的属性,因为它既不是文件系统属性,也不是存储在文件中的 Exif 元数据,而是由文件类型以及文件中是否存在此类元数据确定的动态属性Date Taken
。请参阅我的回答以了解更多信息。正如该答案中的链接文档所示,完整的属性名称是,这与库优化用于按月堆叠的System.ItemDate
属性相同:Pictues
编辑:故障排除
将此代码复制并粘贴到PowerShell窗口中,以返回在一个或多个打开的资源管理器窗口中选择作为排序列的属性的规范名称:
输出:
执行图片文件夹中的代码,然后导航到图库后再次执行。属性一样吗???