Zmiana nazwy niepoprawnej nazwy pliku w systemie plików NTFS

9

Niedawno pożyczyłem dysk flash jednemu z moich przyjaciół, który miał system Mac OS. Skopiował na nim plik, którego nazwa zawierała ukośnik odwrotny (\).

Dysk flash jest sformatowany w systemie NTFS. System Windows nie zezwala na takie nazwy plików, ani nie otwiera pliku, nie usuwa go, ani nie pozwala mi go usunąć.

Istnieją naiwne podejścia do tego problemu, takie jak:

  • Formatowanie dysku flash;
  • Oddanie go mojemu przyjacielowi i prośba o zmianę nazwy;
  • Ładowanie do działającego systemu Linux i zmiana jego nazwy.

Jednak szukam czegoś bardziej sprytnego, na przykład programu, który może załatwić sprawę w systemie Windows.

PS: Istnieje narzędzie o nazwie NTFSWalker, które może przeglądać rekordy MFT NTFS, ale nie jest w stanie wprowadzić do nich żadnych zmian.

MS Dousti
źródło
2
Dowiedz się, jak zmusić system Windows XP do zmiany nazwy pliku ze znakiem specjalnym? przydatna lektura - jedyną prawdziwą odpowiedzią było użycie Linuksa.
DMA57361,
Spróbuj sprawdzić dysk. (Kliknij prawym przyciskiem myszy ikonę dysku → Właściwości → Narzędzia → pod Sprawdzanie błędów, kliknij Sprawdź teraz → zaznacz Automatycznie napraw błędy systemu plików.) To była jedna z sugestii w powyższym pytaniu, ale nigdy nie próbowano.
Bavi_H,
@Bavi_H: Przepraszamy, Check Disk też nie działał.
MS Dousti,

Odpowiedzi:

5

Wszystkie interfejsy API Win32 używają odwrotnego ukośnika jako separatora katalogu. Istnieje niewielka szansa, że ​​podsystem POSIX zaakceptuje go jako część nazwy pliku, więc możesz spróbować mvz Services for Unix .


Nie powiedziałbym, że używanie Linuksa do naprawy jest „naiwne”, jeśli Unix był tym, co go złamało.

użytkownik1686
źródło
Próbowałem mvwcześniej. Nie działało.
MS Dousti
O „naiwnym”: miałem na myśli jakieś rozwiązanie, które przychodzi mi na myśl.
MS Dousti
@Sadeq: O czym mvty mówisz?
user1686,
2
@Sadeq: Oba są zwykłymi programami Win32. Z jakiegoś powodu wyraźnie wspomniałem o usługach dla systemu Unix - jego programy działają w osobnym podsystemie „POSIX” , z innymi regułami niż w przypadku systemu Win32.
user1686,
1
Podsystem POSIX używa również NtOpenFiledo otwierania plików i NtOpenFiletraktuje ścieżkę jako całość, a nie jako serię komponentów (istnieje flaga, aby używać semantyki „POSIX”, ale dotyczy to tylko rozróżniania wielkości liter) - więc przestrzega tych samych zasad.
user541686,
3

Przekonałem się, że 7zip często radzi sobie z dziwnymi plikami, gdy Windows zawiedzie (przydatne w przypadku ścieżek, które są zbyt długie, aby je normalnie usunąć) - daj to przy wypróbowaniu.

Dentrasi
źródło
Przepraszam. 7zdaje ten sam błąd co Windows.
MS Dousti
Dla mnie też nie działa
Mark Jeronimus
2
7z zadziałało trochę magicznie w moim przypadku, którym były nazwy plików kończące się niezgodnym znakiem spacji. Wypróbowałem mnóstwo narzędzi do poradzenia sobie z tym, ale tylko 7z działało.
Mike Simpson
2

Możesz użyć CHKDSK /Fz wiersza poleceń systemu DOS, aby naprawić błędy, a następnie RD /S <DIR>gdzie <DIR>jest katalog, który chcesz usunąć. Uważaj, ponieważ spowoduje to usunięcie katalogu i wszystkich jego podkatalogów.

juliański
źródło
-1

Otworzyłem folder z niedostępnymi plikami znaków w menedżerze plików 7zip. Tam zmieniłem nazwę i BINGO, nazwa została zmieniona. W ten sposób mogłem uzyskać dostęp do pliku.

7zip to darmowe narzędzie do kompresji plików, lepsze niż RAR.

Bieg
źródło
5
Czy twoja odpowiedź nie jest taka sama jak Dentrasi?
MS Dousti,