Windows не удается удалить._. файл
В настоящее время у меня есть файл в корне моего внешнего жесткого диска, просто названный ._.
, который, я думаю, был добавлен на мой жесткий диск после использования его на моем MacBook некоторое время назад. Я пытаюсь удалить этот файл на моем компьютере с Windows 10; однако Windows продолжает утверждать, что файл не может быть найден.
Я также попытался удалить файл через командную строку с повышенными правами; однако возвращается то же сообщение.
Можно ли как-нибудь удалить этот файл с моего жесткого диска через Windows?
5 ответов
Выполните следующую команду (может потребоваться повышенные привилегии / открыть командную строку от имени администратора):
del "\\?\F:\._."
Для файлового ввода / вывода, "
\\?\
"префикс к строке пути указывает API-интерфейсам Windows отключить весь анализ строки и отправить строку, следующую за ней, прямо в файловую систему....
Поскольку он отключает автоматическое расширение строки пути, "
\\?\
"Префикс также позволяет использовать"..
" а также ".
"в именах путей, что может быть полезно, если вы пытаетесь выполнить операции над файлом с этими зарезервированными в противном случае относительными спецификаторами пути как частью полного пути.
Обратите внимание, что вы не можете использовать " \\?\
"префикс с относительным путем.
Пример:
==> 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 "._."
==>
Несмотря на то, что на этот вопрос уже был дан ответ, я все же хотел бы предложить возможное альтернативное решение: использование устаревших "коротких имен" (которые можно отобразить с помощью параметра "/x" для команды dir) также может позволить вам получить контроль над файлами с "причудливыми" именами, которые вы не можете обработать иначе:
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
Установите 7-zip, откройте его и используйте его меню файлов, чтобы переименовать файл с обычным именем (например, aaa
), а затем вы можете удалить его. Нашел на этом посту.
Я проверил это на Windows XP, работающей на виртуальной машине. Я использовал Linux для создания файла с именем ._.
в общем каталоге.
Просто откройте ваш проводник и перейдите к файлу. Переименуйте файл как: filename.txt Теперь вы можете удалить его. Если вы не можете этого сделать, вам необходимо убедиться, что у вас есть права администратора.
(Кстати, причина, по которой вы не можете удалить его, заключается в том, что имя файла фактически не имеет имени и расширение недопустимо. Имя файла - ".", а расширение - "__.", что недопустимо.)
Вы можете удалить файл с помощью: 1) стать владельцем 2) предоставить администраторам (вам) полное разрешение 3) делать с файлом все, что вы хотите
Повышенная CMD подсказка
takeown /f Полный путь к невосстановимому файлу (последний элемент должен быть невосстановимым файлом)
icacls Полный путь к удаленным администраторам файлов / грантов:f
Удалить файл