Mój przyjaciel zapisał plik, gdy rozbił się jej komputer (Mac). Zakładała, że plik został zapisany i nie przejmował się tym zbytnio, ale teraz widziała, że rozmiar pliku wynosi 0 bajtów i plik jest pusty z oczywistych powodów.
Zdarzyło się to ponad tydzień temu i do tej pory przeprowadziła wiele dużych operacji na plikach, więc powiedziałem jej, że najprawdopodobniej nie będzie w stanie go przywrócić, aw rzeczywistości i tak już sobie z tym poradziła, nawet zanim jej powiedziałem.
Mimo to zastanawiałem się, czy istnieją jakieś narzędzia administracyjne (Windows, Mac lub UNIX) do modyfikowania właściwości rozmiaru pliku, więc system plików uważa, że plik jest większy lub jeśli istnieje możliwość odczytania liczby bajtów z dysku zaczynając od wskaźnika pliku, pomijając jego rozmiar zgodnie z tabelą systemu plików?
Ponieważ ponieważ plik był już wcześniej zapisany i był zwykłym plikiem tekstowym (dokładnie XML), pomyślałem, że udając większy rozmiar pliku sąsiednie bajty z dysku byłyby interpretowane tak, jakby należały do uszkodzonego pliku. Gdy następnie otworzysz plik w prostym edytorze tekstu, przynajmniej część pliku mogłaby być ponownie odczytana, chyba że „wolne” klastry zostały już zgłoszone przez inny plik lub plik został tam podzielony na partycje. (N. B .: Gdyby to było możliwe, skopiowalibyśmy plik na dysk USB, a następnie ponownie zmniejszyli rozmiar, aby rozwiązać ewentualny duplikat alokacji tego miejsca na dysku).
Jak napisano powyżej, już poradziła sobie z ponownym wykonaniem pracy, ale zastanawiam się, czy rzeczywiście można manipulować właściwością rozmiaru pliku lub odczytać stałą liczbę bajtów, pomijając informacje o „poprawnej długości danych” w dowolny sposób.
Próbowałem go Google, ale Google nie rozumie tego, co chcę robić. Jedyne, co znalazłem, to fsutil file setvaliddata <file> <length>
dla Windows, ale to nie działa. Próbowałem zmodyfikować rozmiar pliku tekstowego w podwyższonej powłoce, ale najwyraźniej każda inna wartość length
ponad 200 powoduje „Błąd: zły parametr”, gdy 200 jest rozmiarem w bajtach, który mój oryginalny plik już miał.
Myślałem też, że mam większe szanse na OSX, ponieważ jest to zarówno UNIX, ale w rzeczywistości nie znalazłem niczego innego dla żadnego systemu operacyjnego.
źródło