Windows kann nicht gelöscht werden ._. Datei

6985
Mike Koch

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

Error message from 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.

Error message from elevated command prompt

Gibt es eine Möglichkeit, diese Datei über Windows von meiner Festplatte zu löschen?

91
@rr- Das Unglück, das Sie mit Unix-Dateinamen machen können, ist in der Regel viel größer. :3 Martijn vor 8 Jahren 7
Ihre Eingabeaufforderung zeigt etwas Seltsames. Sie haben "._." `Gefunden, aber die Anführungszeichen für` del ._. 'Weggelassen. Haben Sie `del" ._. "` Ausprobiert? jpmc26 vor 8 Jahren 5
@ jpmc26 yep das habe ich versucht. Kam mit dem gleichen Ergebnis auf. Mike Koch vor 8 Jahren 0
interessantes Phänomen. vor allem, wie schwer es ist zu löschen. Sind Sie sicher, dass die Datei ordnungsgemäß erstellt wurde? (Die Benennung davon hört sich sogar für einen Mac ziemlich seltsam an) Thomas vor 8 Jahren 1
Mein Lieblingsteil ist der Ausdruck der Datei Ihrer Versuche, sie zu löschen. Workman vor 8 Jahren 29
`" ._. "` Sie können dies nicht löschen, da Koalas eine geschützte Art sind. vor 8 Jahren 7

5 Antworten auf die Frage

144
JosefZ

Führen Sie den folgenden Befehl aus (erfordert möglicherweise erhöhte Berechtigungen / Eingabeaufforderung für das Öffnen als Administrator):

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

Über das \\?\Präfix :

Bei Datei-I / O- \\?\Vorgängen fordert das Präfix " " einer Pfadzeichenfolge die Windows-APIs auf, die gesamte Zeichenfolgenanalyse zu deaktivieren und die darauf folgende Zeichenfolge direkt an das Dateisystem zu senden.

...

Da die automatische Erweiterung der Pfadzeichenfolge deaktiviert wird, \\?\erlaubt das Präfix " " auch die Verwendung von " .." und " ." in den Pfadnamen. Dies kann nützlich sein, wenn Sie versuchen, Vorgänge an einer Datei mit diesem ansonsten reservierten relativen Pfad auszuführen Spezifizierer als Teil des vollständig qualifizierten Pfads.

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 "._."  ==> 
Hat wie ein Champion gearbeitet, danke! Mike Koch vor 8 Jahren 4
Es ist möglich, dieses Präfix mit einer URL zu verwenden, auch mit dem Befehl "Start". Steven Penny vor 8 Jahren 0
Sie verwenden dies nicht mit einer URL. Sie verwenden Anführungszeichen, wenn Sie eine URL mit dem Startbefehl ausführen möchten. Nelson vor 8 Jahren 0
... Kann man damit Längengrenzen umgehen? (Löschen Sie z. B. ein Verzeichnis "node_modules".) jpmc26 vor 8 Jahren 1
@ jpmc26 Laut MSDN (siehe Link in meiner Antwort), ja. Ich habe jedoch Szenarien getroffen, bei denen `\\? \` Präfix in den Befehlen `del` oder` rmdir` nicht geholfen hat. Wurde zum Dateimanager "7-zip". JosefZ vor 8 Jahren 1
@ jpmc26: Es kann einige Längengrenzen umgehen. Grundsätzlich hat ein erweiterter Pfad eine Längenbegrenzung von 32K. Die meisten Pfade wie "C: \ Windows" oder "..." werden jedoch nicht erweitert, und diese haben eine Längenbegrenzung von nur 260. Diese Grenze von 260 wird an vielen Stellen erzwungen. Leider wenden einige dieser Stellen diese Begrenzung falsch auf `\\? \` Pfade an. MSalters vor 8 Jahren 2
24
Guest

Obwohl die Frage bereits beantwortet wurde, möchte ich trotzdem eine mögliche Alternative anbieten: Die Verwendung der alten "Kurznamen" (die Sie mit der Option "/ x" für den Befehl dir anzeigen können) kann Ihnen auch erlauben Holen Sie sich 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
NZD

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

Ich habe dies unter Windows XP auf einer VM getestet. Ich habe Linux verwendet, um eine Datei zu erstellen, die ._.in einem freigegebenen Verzeichnis aufgerufen wurde .

-4
Arie Klep

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

(Der Grund, warum Sie ihn nicht löschen können, ist übrigens, weil der Dateiname eigentlich keinen Namen hat und die Erweiterung nicht gültig ist. Der Dateiname ist "." und die Erweiterung ist "__.", was nicht zulässig ist.)

@ The_IT_Guy_You_Don't_Like Ich bin neugierig, wo hat OP das erwähnt? muru vor 8 Jahren 1
@Arie Klep, ich nehme meine Worte zurück. Ich muss es in einer ähnlichen Frage gelesen haben pun vor 8 Jahren 0
-8
user53336

Sie können die Datei löschen, indem Sie 1) den Besitz übernehmen. 2) Administratoren (Sie) volle Berechtigung erteilen. 3) Machen Sie mit der Datei, was Sie wollen

Erhöhte CMD-Eingabeaufforderung

takeown / f Vollständiger Pfad zur nicht wiederherstellbaren Datei (das letzte Element muss die nicht wiederherstellbare Datei sein)

icacls Vollständiger Pfad zu nicht wiederherstellbaren Datei- / Grant-Administratoren: f

Datei löschen

Das Problem scheint zu sein, dass Windows aufgrund seines nicht konformen Dateinamens überhaupt nicht auf die Datei zugreifen kann. Daher wäre ich sehr überrascht, wenn diese Antwort funktioniert. Scott vor 8 Jahren 26