Strona główna
» WINDOWS
»
Automatycznie organizuj pliki w folderach według daty utworzenia
Automatycznie organizuj pliki w folderach według daty utworzenia
Użyj programu PowerShell do sortowania plików do folderów według daty utworzenia w systemie Windows . Poniższy skrypt grupuje pliki w folderach rok-miesiąc w kategorii _ByCreationDate, a jego pierwsze uruchomienie wyświetla podgląd planowanych przeniesień przed zmianą lokalizacji plików. Działa on na plikach znajdujących się bezpośrednio w jednym folderze; istniejące podfoldery pozostają nienaruszone.
Zastępuje to stary przepływ pracy SubDiv wbudowanymi poleceniami programu PowerShell systemu Windows. Najpierw wykonaj kopię zapasową lub wypróbuj te kroki na skopiowanym folderze testowym, zwłaszcza jeśli pliki są ważne.
Co oznacza „Data utworzenia”
PowerShell ujawnia znacznik czasu utworzenia systemu plików jako CreationTime. Różni się on od LastWriteTime, który rejestruje datę ostatniej zmiany zawartości pliku. Microsoft zauważa, że systemy plików mogą rejestrować znaczniki czasu w różny sposób, a niektóre platformy nie obsługują rzeczywistego czasu utworzenia. Traktuj to jako datę raportowaną przez system Windows dla pliku, w którym jest przechowywany, a nie jako dowód na to, kiedy jego zawartość została pierwotnie utworzona. W przypadku zdjęć lub dokumentów z własnymi osadzonymi datami, sprawdź te metadane osobno.
Sortowanie plików do folderów dat za pomocą programu PowerShell
1. Wybierz folder i sprawdź jego zawartość
Wybierz folder, którego pliki chcesz uporządkować, na przykład folder przejściowy utworzony na potrzeby tego zadania. W Eksploratorze plików przejdź do widoku Szczegóły i sprawdź kolumnę Data utworzenia , aby wiedzieć, którego znacznika czasu chcesz użyć. W miarę możliwości zachowaj folder docelowy na tym samym dysku i zamknij programy, które mogą nadal zapisywać dane w plikach.
Przed sortowaniem sprawdź wartości Daty utworzenia w widoku Szczegóły.
Skrypt tworzy _ByCreationDatezawartość w wybranym folderze. Nie zagłębia się w istniejące podfoldery. Domyślnie Get-ChildItempomija również ukryte elementy; w przykładzie zachowano tę bezpieczniejszą wartość domyślną.
2. Potwierdź daty, które program PowerShell będzie odczytywał
Otwórz terminal Windows lub program PowerShell i zastąp przykładową ścieżkę swoim folderem. To polecenie tylko do odczytu wyświetla listę wszystkich plików bezpośrednich wraz z sygnaturą czasową ich utworzenia:
Sprawdź kilka znanych plików w Eksploratorze plików. Microsoft dokumentuje Get-ChildItempolecenie cmdlet do pobierania zawartości katalogów; jego -Fileparametr filtruje wyniki do plików.
Przed wybraniem struktury folderów sprawdź daty utworzenia.
3. Zapisz skrypt sortowania poza folderem źródłowym
Zapisz poniższy kod SortByCreatedDate.ps1poza sortowanym folderem, na przykład C:\Scripts. Przechowywanie skryptu w innym miejscu zapobiega jego przeniesieniu wraz z plikami. Zmień $sourceścieżkę do rzeczywistego folderu:
Każdy plik jest przypisany do folderu, takiego jak _ByCreationDate5-03. New-ItemWiersz tworzy w razie potrzeby folder docelowy miesiąca. Move-ItemWykonuje przeniesienie; jego -WhatIfprzełącznik prosi program PowerShell o opisanie akcji bez przenoszenia pliku.
4. Podgląd i zastosowanie ruchów
Uruchom zapisany skrypt z poziomu programu PowerShell, na przykład:
& 'C:\Scripts\SortByCreatedDate.ps1'
Przeczytaj uważnie ścieżki podglądu. Skrypt tworzy puste foldery docelowe podczas tego podglądu, ale -WhatIfpozostawia pliki źródłowe na miejscu. Jeśli proponowane foldery są prawidłowe, usuń je -WhatIfz Move-Itemwiersza, zapisz skrypt i uruchom go ponownie. Następnie sprawdź kilka plików w Eksploratorze plików.
Podgląd poglądowy: przed zastosowaniem ruchów należy potwierdzić każdą ścieżkę źródłową i docelową.Przykład struktury folderów rok-miesiąc wygenerowanej przez skrypt.
Powtórz sortowanie i rozwiąż typowe problemy
To jest organizer wsadowy: sortuje pliki przy każdym uruchomieniu, zamiast stale monitorować folder. W przypadku cyklicznego czyszczenia, umieść skrypt poza folderem źródłowym i użyj Harmonogramu zadań systemu Windows, aby uruchamiać go zgodnie z harmonogramem. Pozostaw skrypt -WhatIfna miejscu do momentu przejrzenia zaplanowanych ścieżek; usuń go dopiero wtedy, gdy będziesz gotowy na zaplanowane uruchomienia w celu przeniesienia plików.
Pliki o tej samej nazwie: PowerShell zgłasza konflikt, jeśli plik o tej nazwie już istnieje w miesiącu docelowym. Skrypt nie -Forcenadpisuje plików. Rozwiąż problem z duplikatem lub wybierz nową lokalizację docelową przed ponowieniem próby.
Podfoldery pozostają niezmienione: Ten skrypt celowo nie zawiera -Recurseprzełącznika. Sortowanie rekurencyjne należy dodać dopiero po ustaleniu sposobu obsługi duplikatów nazw i zachowania oryginalnej struktury każdego folderu.
Daty wyglądają nieoczekiwanie: sprawdź pole „Data utworzenia” pliku oraz urządzenie pamięci masowej. Obsługa i precyzja znaczników czasu w systemie plików są różne, dlatego udział sieciowy, dysk zewnętrzny, proces przywracania lub synchronizacji mogą podawać inne daty.