我有一個資料夾,其中包含 30 GB 的媒體檔案。按「日期」對它們進行排序以將它們拆分到「年_月」的新資料夾中需要花費幾個小時。如何在大量文件清單中僅搜尋/過濾出一年中選定的月份?
回覆答題者
回覆添加庫的答案:
若要在檔案總管中顯示庫,請選擇「檢視」選項卡,然後選擇「導覽窗格」>「顯示庫」。
如果我白天在圖書館安排:
我在圖書館的“Datum”列中僅看到相同的日期 05.08.2023:
但我發現這也是備份資料夾中已有的相同錯誤日期,因此,庫不可能比資料中的更好:
儘管我有來自 Ask Different Stack Exchange 的舊螢幕截圖為什麼我必須多次重試複製,並且出現許多錯誤才能將千兆位元組的圖像和視訊檔案從 iPhone 7 移動到 Windows PC?(這讓我在這裡問這個問題)
您可以看到 HEIC 資料中還有其他日期:
但如果我現在檢查相同的數據,您會發現我無法再在文件列表中獲取 HEIC 圖像,可能是因為我將它們移動到了正確的月份。無論如何,如果那裡只有 05.08.2023,庫中也只能顯示這個日期,如果 HEIC 檔案遺失,那是我的錯
雖然 Windows 上顯示的 iPhone 資料夾中的「Datum」列包含真實日期,但請再次查看相同的檔案:
這意味著備份已覆蓋日期,並且透過選擇「按月排列」進行快速索引排序的庫技巧應該有效。這就是我接受它的原因。
答案1
如果該資料夾已建立索引,您可以從該資料夾建立一個新庫。儘管許多人忽略了庫,但它們提供了Arrange by >
後台上下文功能表的功能,這些功能通常提供您需要的所有搜尋功能。
不同的庫類型或範本提供不同的Arrange by >
選項。根據您的需要,即使您的文件是媒體,也可以使用Pictures
它提供的模板Month
,並顯示每個月/年組的「堆疊」(虛擬資料夾),如以下螢幕截圖所示:
然後,要複製/移動文件,請雙擊堆疊將其打開,ctrl+A選擇全部,然後根據需要複製/移動。
編輯:Arrange by >
選項因庫類型而異,與資料夾類型類似。如果您沒有看到選項:
Month
Day
Rating
Tag
那麼您的庫沒有針對圖片進行最佳化。這可以透過庫的Properties
對話框進行更改:
如果正如我懷疑的那樣,這應該對您有用,Datum
相當於Date
英文版本中的專欄探險家。這是一個相當獨特的屬性,因為它既不是檔案系統屬性也不Exif 元資料儲存在檔案中,而是由檔案類型以及Date Taken
檔案中是否存在此類元資料所決定的動態屬性。看我的回答這裡了解更多。正如該答案中的連結文件所示,完整的屬性名稱是System.ItemDate
,這與庫優化用於Pictues
按月堆疊的屬性相同:
編輯:故障排除
將此程式碼複製並貼上到電源外殼視窗返回規範名稱在一個或多個開啟的選項中選擇作為排序列的屬性探險家視窗:
@((New-Object -Com shell.application).Windows()).ForEach{ Echo ('{0}Window Title :{1,30}{0}Sort Column(s) :{2,30}{0}' -f "`n`t", $_.LocationName, $_.Document.SortColumns)}
輸出:
PS C:\> @((New-Object -Com shell.application).Windows()).ForEach{ Echo ('{0}Window Title :{1,30}{0}Sort Column(s) :{2,30}{0}' -f "`n`t", $_.LocationName, $_.Document.SortColumns)}
Window Title : Pictures
Sort Column(s) : prop:-System.ItemDate;
PS C:\>
執行圖片資料夾中的程式碼,然後導航到圖庫後再次執行。屬性一樣嗎?
答案2
使用 [field:month Year] 模式搜尋(僅適用於小樣本)
開啟包含要過濾掉的檔案的資料夾。在右上角的搜尋框中,使用下列模式輸入您的系統語言:
[column name]:[month in letters] [year]
德語範例:
- 2023 年 1 月 / 2023 年 1 月
- 2023 年 2 月 / 2023 年 2 月
- 三月 2023
- 2023 年 4 月 / 2023 年 4 月
- …
使:
在搜尋選單中,您可以找到更多模式,例如本月、上個月等,如果您點擊它們,您還將在搜尋框中看到它們的程式碼,準備進一步調整:
這樣您就可以點擊“ä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文件夾,而無需手動執行任何操作。我沒有花時間,但應該是比將文件數百次移動到正確的每月資料夾中更好的方法。