Windows kann nicht gelöscht werden ._. Datei


90

Ich habe derzeit eine Datei im Stammverzeichnis meiner externen Festplatte mit dem einfachen Namen ._., die meiner Schätzung nach meiner Festplatte hinzugefügt wurde, nachdem sie vor einiger Zeit auf meinem MacBook verwendet wurde. Ich versuche, diese Datei auf meinem Windows 10-Computer zu löschen. Windows behauptet jedoch weiterhin, dass die Datei nicht gefunden werden kann.

Fehlermeldung vom Windows Explorer

Ich habe auch versucht, die Datei über eine Eingabeaufforderung mit erhöhten Rechten zu löschen. es wird jedoch dieselbe Nachricht zurückgegeben.

Fehlermeldung an der Eingabeaufforderung mit erhöhten Rechten

Kann ich diese Datei auf irgendeine Weise über Windows von meiner Festplatte löschen?


7
@ rr- das Elend, das Sie mit Unix-Dateinamen anrichten können, ist tendenziell viel größer. : 3
Martijn

5
Ihre Eingabeaufforderung zeigt etwas Seltsames. Sie haben find "._."aber die Anführungszeichen für weggelassen del ._.. Hast du es versucht del "._."?
jpmc26

1
interessantes Phänomen. vor allem, wie schwer es ist, zu löschen. Sind Sie sicher, dass die Datei ordnungsgemäß erstellt wurde? (die Benennung klingt auch für einen Mac ziemlich seltsam)
Thomas

30
Mein Lieblingsteil ist der Ausdruck Ihrer Versuche, die Datei zu löschen.
Workman

8
"._."Sie können dies nicht löschen, da Koalas eine geschützte Art sind.

Antworten:


146

Führen Sie den folgenden Befehl aus (möglicherweise sind erhöhte Berechtigungen erforderlich / Eingabeaufforderung als Administrator öffnen):

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

Über das \\?\Präfix :

Bei " \\?\" Datei-E / A weist das Präfix einer Pfadzeichenfolge die Windows-APIs an, alle Zeichenfolgenanalyse zu deaktivieren und die darauf folgende Zeichenfolge direkt an das Dateisystem zu senden.

...

Da die automatische Erweiterung der Pfadzeichenfolge deaktiviert ist, können mit dem " \\?\" Präfix auch " .." und " ." in den Pfadnamen verwendet werden. Dies kann hilfreich sein, wenn Sie versuchen, Operationen an einer Datei mit diesem ansonsten reservierten relativen Pfad durchzuführen Bezeichner als Teil des vollständig qualifizierten Pfades.

Beachten Sie, dass Sie das \\?\Präfix " " nicht mit einem relativen Pfad verwenden können.

Beispiel :

==> 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 "._."

==>

Es ist möglich, dieses Präfix mit einer URL zu verwenden, als der startBefehl?
Steven Penny

Sie verwenden dies nicht mit einer URL. Sie verwenden doppelte Anführungszeichen, wenn Sie eine URL über den Startbefehl ausführen möchten.
Nelson

1
... Kann dies verwendet werden, um Längenbeschränkungen zu umgehen? (Löschen Sie beispielsweise ein node_modulesVerzeichnis.)
jpmc26

1
@ jpmc26 Laut MSDN (siehe Link in meiner Antwort), ja. Allerdings habe ich Szenarien getroffen, in denen \\?\ Präfixe deloder rmdirBefehle nicht geholfen haben. Verwandelte sich in 7-zipDatei-Manager.
JosefZ

2
@ jpmc26: Es kann einige Längenbeschränkungen umgehen. Grundsätzlich hat ein erweiterter Pfad ein Längenlimit von 32 KB. Aber die meisten Pfade mögen C:\Windowsoder ..werden nicht erweitert, und diese haben eine Längenbeschränkung von nur 260. Diese Beschränkung von 260 wird an vielen Stellen durchgesetzt; Leider wenden einige dieser Stellen fälschlicherweise diese Beschränkung auch auf "\\?" - Pfade an.
MSalters

24

Obwohl die Frage bereits beantwortet wurde, möchte ich dennoch eine mögliche alternative Lösung anbieten: Die Verwendung der alten "Kurznamen" (die Sie mit der Option "/ x" für den Befehl dir anzeigen können) kann dies auch ermöglichen Verschaffen Sie sich einen Überblick über Dateien mit "funky" Namen, die Sie sonst nicht verarbeiten können:

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

20

Installieren Sie 7-zip , öffnen Sie es und verwenden Sie das Dateimenü, um die Datei in einen normalen Namen umzubenennen (z. B. in aaa). Anschließend können Sie sie löschen. Gefunden in diesem Beitrag.

Ich habe dies unter Windows XP getestet und in einer VM ausgeführt. Ich habe Linux verwendet, um eine Datei zu erstellen, die ._.in einem freigegebenen Verzeichnis aufgerufen wird .


-4

Öffnen Sie einfach Ihren Windows Explorer und navigieren Sie zu der Datei. Benennen Sie die Datei wie folgt um: filename.txt Jetzt können Sie sie löschen. Wenn Sie dies nicht können, müssen Sie sicherstellen, dass Sie über Administratorrechte verfügen.

(Übrigens, der Grund, warum Sie es nicht löschen können, ist, dass der Dateiname keinen Namen hat und die Erweiterung ungültig ist. Der Dateiname ist "." und die Erweiterung ist "__.", was nicht erlaubt ist.)


1
@ The_IT_Guy_You_Don't_Like Ich bin neugierig, wo hat OP das erwähnt?
muru

@Arie Klep, ich nehme meine Worte zurück. Ich muss es in einer anderen ähnlichen Frage gelesen haben
Wortspiel

-8

Sie können die Datei löschen, indem Sie 1) Eigentümer werden, 2) Administratoren (Ihnen) die volle Berechtigung erteilen, 3) mit der Datei das tun, was Sie wollen

Erhöhte CMD-Eingabeaufforderung

takeown / f Vollständiger Pfad zur nicht löschbaren Datei (letztes Element muss die nicht löschbare Datei sein)

icacls vollständiger Pfad zu nicht löschbaren Datei- / Gewährungsadministratoren: f

Datei löschen


26
Das Problem scheint zu sein, dass Windows wegen des nicht übereinstimmenden Dateinamens überhaupt nicht auf die Datei zugreifen kann. Daher wäre ich sehr überrascht, wenn diese Antwort funktioniert.
Scott
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.