CMD如何成功创建和删除以DOS设备名称命名的文件夹

CMD如何成功创建和删除以DOS设备名称命名的文件夹

nul、、、、等是保留的 dos 设备。当我们尝试创建具有此名称的任何文件或文件夹时,我们无法创建它con,并导致某种奇怪的错误。auxprnlpt

md con\但最近我在 cmd 中运行了该命令,并con创建了一个名为的目录(不是con\)!我通常可以复制并粘贴其中的文件,但当尝试删除它时,Windows 资源管理器中会出现错误。但当我使用命令删除它时,rd con\它被成功删除了。

我想知道为什么我们无法在 Windows 资源管理器中创建具有这些保留名称的文件或文件夹,但 CMD 却成功做到了这一点?

答案1

保留文件名

为什么我们无法在 Windows 资源管理器中创建具有这些保留名称的文件或文件夹,但 CMD 却成功执行了此操作?

Explorer 和 cmd 是不同的程序,在这种情况下,Explorer 的限制比它需要的更严格。

根据微软官方文档,限制名称列表仅适用于文件和不是到文件夹:

不要使用以下保留名称作为文件

CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8 和 LPT9。还应避免在这些名称后紧跟扩展名;例如,不建议使用 NUL.txt。有关更多信息,请参阅命名空间。

(重点是我的)

来源命名文件、路径和命名空间 - Win32 应用 | Microsoft Docs

相关内容