我有一台 Windows XP 机器(NTFS 文件系统),在其中发现了一个名为 的文件NUL
。我无法以任何常规方式删除此文件。该文件似乎归Administrator
该SYSTEM
组所有,与同一目录中的任何其他文件不同(其他文件归我的用户 ID 所有)。
我该如何删除这个文件?它是从哪里来的?
答案1
尝试
Del \\?\C:\My\Path\NUL
在命令提示符中。
有关详细信息,请参阅此 Microsoft 支持文章:您无法删除 NTFS 文件系统卷上的文件或文件夹,在“原因 5:文件名包含 Win32 名称空间中的保留名称”。
答案2
或者如果你有赛格威安装后,您可能想知道,它对这些文件或文件夹没有问题。特别是,
rm -r /cygdrive/c/path/to/the/file/or/folder/you/want/to/delete
在 Cygwin 终端中输入将删除名为的文件或文件夹或包含该文件或文件夹。这也适用于其他特殊文件名,nul
例如CON
,PRN
,AUX
,COM1
,COM2
,COM3
,COM4
,,,,,,,,,,,。COM5
COM6
COM7
COM8
COM9
LPT1
LPT2
LPT3
LPT4
LPT5
LPT6
LPT7
LPT8
答案3
我在这里添加这个,因为它在谷歌搜索结果中排名很高,而且我也遇到了类似的问题文件夹名为 NUL。不幸的是,上述修复没有帮助。我查看的大量其他内容也没有帮助。
我尝试了rmdir\\?\C:\My\Path\NUL
,但 rmdir\\.\C:\My\Path\NUL
没有成功,还尝试了使用 SourceTree 安装中的 bash 的几个命令。毫无进展。
最后,我使用DIR /X /A
cmd 列出了父目录中的短名称。这返回了NUL~1
我的 NUL 文件夹。
然后将其用于标准命令rmdir /s NUL~1
并最终解决了该问题。
答案4
如果您拥有 PowerShell 6.1.0(2018 年 9 月)或更高版本:
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.0
你可以做这样的事情:
Remove-Item -LiteralPath \\?\C:\NUL
另一个选择是这个 Go 程序:
package main
import "os"
func main() {
os.Remove(`\\?\C:\NUL`)
}