共计 878 个字符,预计需要花费 3 分钟才能阅读完成。
问题描述:
硬盘分区有点问题,调整修复并重装系统后,D盘出现了一个1KB 大小的文件,名称为nul,无法直接删除,cmd命令提示符下也无法删除。参考图一所示:
图一
原因解析:(摘)
Windows 下不能够以下面这些字样来命名文件/文件夹,包括:“aux”“com1”“com2”“prn”“con”和“nul”等,因为这些名字都属于设备名称,等价于一个 DOS 设备,如果我们把文件命名为这些名字,Windows 就会误以为发生重名,所以会提示“不能创建同名的文件”等等。
当然,有一些特殊的方法可以偷机取巧,建立以这些设备名为名的文件夹,比如我们在命令提示符下执行“md C:aux\”,就在 C 盘建了一个名叫 aux 的文件夹。此文件夹虽然可以访问,也可以建立子文件夹,但却无法删除,因为 Windows 不允许以这种方式删除设备。在系统看来,这个 aux 文件夹就是设备。
那么,如何删除这样的文件/文件夹呢?我们只要按照完整的 UNC 路径格式,就是网上邻居的路径格式,正确输入文件路径及文件名即可。比如要删除 C 盘下的 aux 文件夹,可在命令提示符下执行:rd /s \.C:aux,rd 是命令提示符删除文件夹的命令,/s 参数表示从所有子目录删除指定文件。再比如要删除 C 盘 temp 文件夹下的 nul.exe 文件,在命令提示符下执行:del \.C:tempnul.exe 即可。
解决方法:
网上搜索相关问题的时候,大部分都说的比较麻烦,而且不一定有效。有人说用金山清理专家等工具可以解决。
其实不用这么麻烦,这里提供一个简单的批处理方式可以轻松将之删除:
DEL /F /A /Q \?%1
RD /S /Q \?%1
@echo 保存为*.bat
@echo 将要删除的文件以及文件夹拖到该批处理上。
@pause
新建一个记事本将上面代码复制保存,然后将后缀.txt改名.bat,需要删除文件时直接将文件夹拖到该批处理上即可
这个批处理是志文工作室以前发布过的,遇到该问题的朋友可以参考一下原文:
http://lzw.me/article.asp?id=334