Windows 无法删除 ._. 文件

Windows 无法删除 ._. 文件

我目前在外部硬盘的根目录下有一个名为的文件._.,我猜它是在我之前在 MacBook 上使用后添加到硬盘上的。我试图在 Windows 10 计算机上删除此文件;但是 Windows 一直声称找不到该文件。

Windows 资源管理器中的错误消息

我也尝试通过提升的命令提示符删除该文件;但是返回了相同的消息。

提升的命令提示符发出的错误消息

有什么方法可以通过 Windows 从我的硬盘中删除这个文件吗?

答案1

运行以下命令(可能需要提升权限/以管理员身份打开命令提示符):

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

关于\\?\前缀

对于文件 I/O,\\?\路径字符串的“ ”前缀告诉 Windows API 禁用所有字符串解析并将其后面的字符串直接发送到文件系统。

...

因为它关闭了路径字符串的自动扩展,“ \\?\”前缀还允许在路径名中使用“ ..”和“ .”,如果您尝试使用这些原本保留的相对路径说明符作为完全限定路径的一部分对文件执行操作,这将非常有用。

请注意,不能将“ \\?\”前缀与相对路径一起使用。

例子

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

==>

答案2

尽管这个问题已经得到解答,我仍然想提供一种可能的替代解决方案:使用传统的“短名称”(您可以使用 dir 命令的“/x”选项显示)也可以让您掌握无法处理的具有“时髦”名称的文件:

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

答案3

安装7-zip,打开它并使用其文件菜单将文件重命名为正常名称(例如aaa),然后您就可以删除它了。可以在以下位置找到邮政。

我在虚拟机中运行的 Windows XP 上对此进行了测试。我使用 Linux 创建了一个名为“._.共享目录”的文件。

答案4

您可以通过以下方式删除文件:1)获取所有权 2)授予管理员(您)完全权限 3)对文件执行您想要的操作

提升的 CMD 提示符

takeown /f 不可删除文件的完整路径(最后一项必须是不可删除的文件)

icacls 无法删除的文件的完整路径 /grant Administrators:f

删除文件

相关内容