2013-06-13 12 views
6

Mam kilka tysięcy plików obrazów, które zostały uszkodzone przez jakiś nieuczciwy proces na moim komputerze. Mam trochę kodu .NET do wykrycia uszkodzonych plików. Chciałbym wymienić i uzyskać dostęp do poprzednich wersji tych plików (włączona jest Historia plików systemu Windows 8) i przywrócić wersje robocze.Jak mogę programowo uzyskać dostęp do historii plików w Windows 8?

znalazłem this page z informacjami o tym, jak configure historii plików w kodzie, ale nic na jak uzyskać dostęp do poprzednich wersji w kodzie. Czy istnieje prosty interfejs API dla tego?

+0

Czy możesz wyjaśnić głosowanie bliskie? Chodzi o wykorzystanie interfejsu API systemu Windows do uzyskania dostępu do zasobu w .NET. (Zmienię sformułowanie, aby było to jaśniejsze, jeśli to pomaga). – Olly

+0

Bliscy wyborcy uważali, że to pytanie dla superużytkownika. Wydaje mi się, że te zmiany wyjaśniły, że szukasz rozwiązania programowego, więc teraz nie powinno to być problemem. –

Odpowiedz

3

W końcu będę wychodził oczywiste. W historii plików kopie zapasowe są zapisywane w konfigurowalnej lokalizacji. Sprawdziłem dysk z historią plików i znalazłem strukturę katalogów odzwierciedlającą mój dysk źródłowy. Dostępne są różne wersje każdego pliku kopii zapasowej, z których każdy zawiera sufiks daty i godziny. na przykład mytextfile.txt ma wiele wersji o nazwach takich jak mytextfile (2013_05_15 10_22_00 UTC).txt.

Łatwo było dopasować pliki źródłowe do kopii zapasowych za pomocą prostego wyrażenia regularnego. Nie jest potrzebne żadne wymyślne wywoływanie Win API.

Nadal chciałbym wiedzieć, na przyszłość, czy istnieje bardziej "naukowy" sposób, aby to zrobić.

1

Znaleziony próbka tutaj: FileHistory Sample

+0

Dzięki. Ale tak naprawdę jest to wersja demonstracyjna interfejsu API do * zarządzania * historią plików zamiast do jej dostępu. – Olly

+0

Ten odnośnik wywołuje "Ten element jeszcze nie został opublikowany." – JWWalker

Powiązane problemy