90

В настоящее время у меня есть файл в корне моего внешнего жесткого диска, просто названный ._. , который, я думаю, был добавлен на мой жесткий диск после использования его на моем MacBook некоторое время назад. Я пытаюсь удалить этот файл на моем компьютере с Windows 10; однако Windows продолжает утверждать, что файл не может быть найден.

Сообщение об ошибке из Windows Explorer

Я также попытался удалить файл через командную строку с повышенными правами; однако возвращается то же сообщение.

Сообщение об ошибке из командной строки с повышенными правами

Можно ли как-нибудь удалить этот файл с моего жесткого диска через Windows?

5 ответов5

145

Выполните следующую команду (может потребоваться повышенные привилегии / открыть командную строку от имени администратора):

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

==>
24

Несмотря на то, что на этот вопрос уже был дан ответ, я все же хотел бы предложить возможное альтернативное решение: использование устаревших "коротких имен" (которые можно отобразить с помощью параметра «/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
20

Установите 7-zip, откройте его и используйте его меню файлов, чтобы переименовать файл с обычным именем (например, aaa), а затем вы можете удалить его. Нашел на этом посту.

Я проверил это на Windows XP, работающей на виртуальной машине. Я использовал Linux для создания файла с именем ._. в общем каталоге.

-4

Просто откройте ваш проводник и перейдите к файлу. Переименуйте файл как: filename.txt Теперь вы можете удалить его. Если вы не можете этого сделать, вам необходимо убедиться, что у вас есть права администратора.

(Кстати, причина, по которой вы не можете удалить его, заключается в том, что имя файла фактически не имеет имени и расширение недопустимо. Имя файла "." и расширение "__." что не разрешено.)

-8

Вы можете удалить файл: 1) стать владельцем 2) предоставить администраторам (вам) полное разрешение 3) делать с файлом все, что вы хотите

Повышенная CMD подсказка

takeown /f Полный путь к невосстановимому файлу (последний элемент должен быть невосстановимым файлом)

icacls Полный путь к удаленным администраторам файлов / грантов:f

Удалить файл

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .