Windows Impossibile eliminare ._. File


91

Attualmente ho un file sulla radice del mio disco rigido esterno semplicemente chiamato ._., che suppongo sia stato aggiunto al mio disco rigido dopo averlo usato sul mio MacBook qualche tempo fa. Sto cercando di eliminare questo file sul mio computer con Windows 10; tuttavia Windows continua a rivendicare che il file non è stato trovato.

Messaggio di errore da Esplora risorse

Ho anche provato a eliminare il file tramite un prompt dei comandi con privilegi elevati; tuttavia viene restituito lo stesso messaggio.

Messaggio di errore dal prompt dei comandi elevato

Esiste un modo per eliminare questo file dal mio disco rigido tramite Windows?


7
@ rr- la miseria che puoi fare con i nomi di file unix tende ad essere molto maggiore. : 3
Martijn,

5
Il tuo prompt dei comandi mostra qualcosa di strano. Hai fatto find "._."ma lasciato fuori le virgolette per del ._.. Ci hai provato del "._."?
jpmc26,

1
fenomeno interessante. soprattutto quanto sia difficile da eliminare. Sei sicuro che il file sia stato legittimamente creato? (la sua denominazione suona abbastanza strana anche per un mac)
Thomas

30
La mia parte preferita è l'espressione del file dei tuoi tentativi di eliminarlo.
Workman,

8
"._."Non puoi eliminarlo perché i koala sono una specie protetta.

Risposte:


146

Esegui il comando seguente (potrebbe richiedere privilegi elevati / aprire il prompt dei comandi come amministratore):

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

Informazioni sul \\?\prefisso :

Per l'I / O dei file, il \\?\prefisso " " a una stringa di percorso indica alle API di Windows di disabilitare tutte le analisi delle stringhe e di inviare la stringa che la segue direttamente al file system.

...

Poiché disattiva l'espansione automatica della stringa del percorso, il \\?\prefisso " " consente anche l'uso di " .." e " ." nei nomi dei percorsi, che possono essere utili se si sta tentando di eseguire operazioni su un file con questi percorsi relativi altrimenti riservati specificatori come parte del percorso completo.

Si noti che non è possibile utilizzare il \\?\prefisso " " con un percorso relativo.

Esempio :

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

==>

È possibile utilizzare quel prefisso con un URL, al a il startcomando?
Steven Penny,

Non lo usi con un URL. Utilizzare virgolette doppie se si desidera eseguire un URL dal comando di avvio.
Nelson,

1
... Può essere usato per bypassare i limiti di lunghezza? (Ad esempio, eliminare una node_modulesdirectory.)
jpmc26

1
@ jpmc26 Secondo MSDN (vedi link fornito nella mia risposta), sì. Tuttavia, ho incontrato scenari in cui il \\?\ prefisso utilizzato delo i rmdircomandi non sono stati utili. Trasformato in 7-zipfile manager.
JosefZ,

2
@ jpmc26: può ignorare alcuni limiti di lunghezza. Fondamentalmente, un percorso espanso ha un limite di lunghezza di 32 KB. Ma la maggior parte dei percorsi gradisce C:\Windowso ..non è espansa e quelli hanno un limite di lunghezza di soli 260. Tale limite di 260 viene applicato in molti punti; sfortunatamente alcuni di quei posti applicano erroneamente quel limite anche ai percorsi `\\?`.
Salterio

24

Anche se alla domanda è già stata data una risposta, mi piacerebbe comunque offrire una possibile soluzione alternativa: l'uso dei "nomi brevi" legacy (che è possibile visualizzare con l'opzione "/ x" al comando dir) può anche consentire di ottenere un controllo sui file con nomi "funky" che altrimenti non è possibile gestire:

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

Installa 7-zip , aprilo e usa il suo menu file per rinominare il file con un nome normale (per esempio a aaa) e poi puoi cancellarlo. Trovato in questo post.

Ho provato questo su Windows XP in esecuzione in una macchina virtuale. Ho usato Linux per creare un file chiamato ._.in una directory condivisa.


-4

Basta aprire Windows Explorer, accedere al file. Rinomina il file come: nomefile.txt Ora puoi eliminarlo. Se non sei in grado di farlo, devi assicurarti di avere i diritti di amministratore.

(Tuttavia, il motivo per cui non è possibile eliminarlo è perché il nome del file non ha in realtà un nome e l'estensione non è valida. Il nome del file è "." e l'estensione è "__." che non è consentita.)


1
@ The_IT_Guy_You_Don't_Like Sono curioso, dove l'ha detto OP?
muru,

@Arie Klep, riprendo le mie parole. Devo averlo letto in un'altra domanda simile
gioco di

-8

Puoi eliminare il file 1) Assumi la proprietà 2) concedi agli amministratori (tu) l'autorizzazione completa 3) Fai quello che vuoi con il file

Richiesta CMD elevata

takeown / f Percorso completo del file non cancellabile (l'ultimo elemento deve essere il file non cancellabile)

icacls Percorso completo per file non eliminabili / concedi amministratori: f

Cancella il file


26
Il problema sembra essere che Windows non può assolutamente accedere al file, a causa del suo nome file non conforme, quindi sarei molto sorpreso se questa risposta funzionasse.
Scott,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.