Nie można usunąć systemu Windows ._. Plik

91

Obecnie mam plik o nazwie root na moim zewnętrznym dysku twardym ._., który, jak sądzę, został dodany do mojego dysku twardego po użyciu go na moim MacBooku jakiś czas temu. Próbuję usunąć ten plik na moim komputerze z systemem Windows 10; jednak system Windows twierdzi, że nie można znaleźć pliku.

Komunikat o błędzie z Eksploratora Windows

Próbowałem także usunąć plik za pomocą wiersza polecenia z podwyższonym poziomem uprawnień; jednak ta sama wiadomość jest zwracana.

Komunikat o błędzie z wiersza polecenia z podwyższonym poziomem uprawnień

Czy mogę w jakiś sposób usunąć ten plik z dysku twardego za pomocą systemu Windows?

Mike Koch
źródło
7
@ rr - nieszczęście, jakie możesz zrobić z nazwami plików unix, jest znacznie większe. : 3
Martijn,
5
Twój wiersz polecenia pokazuje coś dziwnego. Zrobiłeś, find "._."ale pominąłeś cytaty del ._.. Próbowałeś del "._."?
jpmc26,
1
ciekawe zjawisko. szczególnie jak trudno jest je usunąć. Czy jesteś pewien, że plik został poprawnie utworzony? (jego nazwa brzmi dość dziwnie, nawet jak na komputer Mac)
Thomas
30
Moją ulubioną częścią jest wyrażenie pliku o twoich próbach jego usunięcia.
Workman
8
"._."Nie możesz tego usunąć, ponieważ koale są gatunkiem chronionym.

Odpowiedzi:

146

Uruchom następujące polecenie (może wymagać podniesionych uprawnień / otwarcia wiersza polecenia jako administrator):

del "\\?\F:\._."

Informacje o \\?\prefiksie :

W przypadku operacji we / wy pliku \\?\prefiks „ ” do ciągu ścieżki informuje interfejsy API systemu Windows, aby wyłączał wszystkie analizowanie ciągu i wysyłał ciąg następujący po nim bezpośrednio do systemu plików.

...

Ponieważ wyłącza automatyczne rozwijanie ciągu ścieżki, \\?\prefiks „ ” pozwala również na użycie „ ..” i „ .” w nazwach ścieżek, co może być przydatne, jeśli próbujesz wykonać operacje na pliku z tymi innymi zarezerwowanymi ścieżkami względnymi. specyfikatory jako część w pełni kwalifikowanej ścieżki.

Pamiętaj, że nie możesz użyć \\?\prefiksu „ ” ze ścieżką względną.

Przykład :

==> set prog>"\\?\D:\bat\Unusual Names\._."

==> dir "D:\bat\Unusual Names\*"|find "._."
08.11.2015  13:25               132 ._.

==> type "D:\bat\Unusual Names\._."
The system cannot find the file specified.

==> type "\\?\D:\bat\Unusual Names\._."
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files

==> del "D:\bat\Unusual Names\._."
Could Not Find D:\bat\Unusual Names\._.

==> del "\\?\D:\bat\Unusual Names\._."

==> dir "D:\bat\Unusual Names\*"|find "._."

==>
JosefZ
źródło
Czy można użyć tego prefiksu z adresem URL, czy startpolecenie?
Steven Penny
Nie używasz tego z adresem URL. Używaj podwójnych cudzysłowów, jeśli chcesz uruchomić adres URL z polecenia start.
Nelson
1
... Czy można to wykorzystać do ominięcia limitów długości? (Np. Usuń node_moduleskatalog.)
jpmc26,
1
@ jpmc26 Zgodnie z MSDN (patrz link podany w mojej odpowiedzi), tak. Jednak spotkałem się ze scenariuszami, w których \\?\ prefiks dellub rmdirpolecenia nie pomogły. Zwrócił się do 7-zipmenedżera plików.
JosefZ,
2
@ jpmc26: Może ominąć pewne ograniczenia długości. Zasadniczo rozszerzona ścieżka ma limit długości 32 KB. Ale większość ścieżek takich jak C:\Windowslub ..nie są rozwinięte, a te mają limit długości tylko 260. Ten limit 260 jest egzekwowany w wielu miejscach; niestety sporo z tych miejsc nieprawidłowo stosuje ten limit także do ścieżek `\\?`.
MSalters
24

Mimo że na pytanie już udzielono odpowiedzi, nadal chciałbym zaoferować możliwe alternatywne rozwiązanie: użycie starszych „krótkich nazw” (które można wyświetlić za pomocą opcji „/ x” w poleceniu dir) może również pozwolić na opanuj pliki z „funkowymi” nazwami, których inaczej nie poradzisz:

C:\temp\test>dir
 Volume in drive C has no label.
 Volume Serial Number is 887A-5E48

 Directory of C:\temp\test

11.11.2015  16:31    <DIR>          .
11.11.2015  16:31    <DIR>          ..
11.11.2015  16:31                 7 ._.
               1 File(s)              7 bytes
               2 Dir(s)  44.966.129.664 bytes free

C:\temp\test>dir /x
 Volume in drive C has no label.
 Volume Serial Number is 887A-5E48

 Directory of C:\temp\test

11.11.2015  16:31    <DIR>                       .
11.11.2015  16:31    <DIR>                       ..
11.11.2015  16:31                 7 _3E35~1      ._.
               1 File(s)              7 bytes
               2 Dir(s)  44.966.129.664 bytes free

C:\temp\test>del _3e35~1

C:\temp\test>dir
 Volume in drive C has no label.
 Volume Serial Number is 887A-5E48

 Directory of C:\temp\test

11.11.2015  16:31    <DIR>          .
11.11.2015  16:31    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  44.966.129.664 bytes free
Gość
źródło
20

Zainstaluj 7-zip , otwórz go i użyj menu pliku, aby zmienić nazwę pliku na normalną nazwę (na przykład na aaa), a następnie możesz go usunąć. Znaleziono w tym poście.

Przetestowałem to na systemie Windows XP działającym na maszynie wirtualnej. Użyłem Linuksa, aby utworzyć plik o nazwie ._.udostępnionego katalogu.

NZD
źródło
-4

Po prostu otwórz Eksploratora Windows, przejdź do pliku. Zmień nazwę pliku na: nazwa_pliku.txt Teraz możesz go usunąć. Jeśli nie możesz tego zrobić, musisz upewnić się, że masz uprawnienia administratora.

(między innymi dlatego, że nie można go usunąć, ponieważ nazwa pliku nie ma nazwy, a rozszerzenie jest nieprawidłowe. Nazwa pliku to „.”, a rozszerzenie to „__.”, co jest niedozwolone.)

Arie Klep
źródło
1
@ The_IT_Guy_You_Don't_Like Jestem ciekawy, gdzie OP wspomniało o tym?
muru
@Arie Klep, cofam moje słowa. Musiałem to przeczytać w innym podobnym pytaniu
pun
-8

Możesz usunąć plik przez 1) Przejąć na własność 2) przyznać administratorom (tobie) pełne uprawnienia 3) Rób co chcesz z plikiem

Podwyższony monit CMD

takeown / f Pełna ścieżka do pliku nieusuwalnego (ostatni element musi być plikiem nieusuwalnym)

icacls Pełna ścieżka do nieusuwalnych administratorów plików / grantów: f

Usunąć plik

użytkownik53336
źródło
26
Problem polega na tym, że system Windows nie może w ogóle uzyskać dostępu do pliku z powodu jego niezgodnej nazwy, więc byłbym bardzo zaskoczony, gdyby ta odpowiedź zadziałała.
Scott,