Windows 11 无法删除 “NUL” 文件

揭秘 MS-DOS 保留设备名陷阱

Windows 11 无法删除 “nul”文件? 尝试粉碎文件等其他操作皆失败?

nul

问题现象

整理文件时遇到诡异问题:文件夹内存在名为 nul 的文件,大小354字节,使用常规删除操作时,系统弹窗提示:

MS-DOS 功能无效

根本原因:穿越40年的兼容性债务

该问题根源追溯至1981年发布的 MS-DOS 1.0,核心是DOS保留设备名带来的系统兼容限制。

保留设备名称(Reserved Device Names)

DOS系统为硬件设备预留专属文件名,这类名称具备特殊系统含义,无需完整路径即可被系统识别:

名称 对应设备含义
CON 控制台(键盘+显示器)
NUL 空设备(数据黑洞,写入内容直接丢弃)
PRN 默认打印机
AUX 辅助串口设备
COM1~COM9 串行通讯端口
LPT1~LPT9 并行打印端口

DOS时代典型使用示例:

cmd
COPY CON file.txt  :: 从控制台输入内容保存到文件
TYPE file.txt > PRN :: 将文件内容直接发送打印机
ECHO Hello > NUL    :: 静默执行,不输出任何内容

Windows NT 兼容策略

Windows NT 内核(包含 Win10/Win11)为兼容老旧 DOS、Win16 程序,完整继承了这套限制:

  1. NTFS 文件底层允许创建、存储名为 nul/con/prn 等的文件;
  2. 上层 Win32 API 会拦截对保留名文件的常规修改/删除操作;
  3. 资源管理器可以展示文件,但无法通过右键、Delete键等常规方式删除。

解决方案大全

✅ 方案一:UNC 路径绕过(最简单通用)

\\?\ 特殊UNC路径前缀可跳过Win32名称解析校验,两种使用方式:

图形界面操作

  1. 选中目标nul文件,按住Shift右键 → 复制为路径;
  2. 文件资源管理器地址栏输入 \\?\ + 粘贴复制的完整路径,回车跳转;
  3. 在新窗口内正常删除文件。
  4. \\?\ + 你的路径
  5. 推荐使用[System.IO.File]::Delete("\\?\C:\完整文件路径\nul")

CMD直接删除命令

cmd
del "\\?\C:\Users\用户名\Desktop\nul"

✅ 方案二:PowerShell 强制删除

以管理员身份打开 PowerShell,任选一条执行:

PowerShell
# 方式1:LiteralPath 规避名称解析
Remove-Item -LiteralPath "\\?\C:\完整文件路径\nul" -Force

# 方式2:直接调用底层.NET文件API (推荐)
[System.IO.File]::Delete("\\?\C:\完整文件路径\nul")

✅ 方案三:CMD命令提示符(传统方案)

管理员身份运行CMD,二选一执行:

cmd
:: 标准UNC前缀格式
del "\\?\C:\完整路径\nul"

:: 设备路径格式
del "\\.\C:\完整路径\nul"

✅ 方案四:WSL Linux子系统(降维绕过限制)

安装Windows Linux子系统后,打开WSL终端执行:

code
rm "/mnt/c/完整路径/nul"

Linux内核无DOS保留设备名限制,可直接删除。

进阶:这类特殊文件是如何产生的?

文件来源

  1. 跨系统压缩包解压:Linux/macOS打包的文件包含保留名;
  2. WSL内手动创建文件;
  3. 程序通过底层\\?\API主动生成;
  4. 恶意程序利用该特性生成无法常规删除的文件。

实验:手动创建保留名文件

PowerShell管理员终端执行,可生成资源管理器删不掉的文件:

PowerShell
$path = "\\?\C:\Test\con.txt"
[System.IO.File]::Create($path).Close()

最佳实践建议

  1. 文件命名规避保留词:命名不使用 CON, PRN, AUX, NUL, COM1-9, LPT1-9
  2. 必要时增加后缀:如需使用相关词汇,命名为nul.txt而非纯nul
  3. 跨设备传输前校验文件名,避免解压后出现无法删除文件;
  4. 第三方文件管理器(Total Commander、7-Zip)对这类特殊文件兼容性更好。

结语

看似简单的文件删除报错,是操作系统40年迭代留下的兼容性技术债缩影。 从1981年内存仅640KB的MS-DOS,到现代化Windows 11,微软为保证老旧软件正常运行,完整保留了DOS设备名限制。这套为兼容而生的规则,时至今日仍会给普通用户带来文件操作难题。

评论