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

Was*_*sif 3 windows windows-explorer command-line cmd.exe

nulconauxprnlpt等被保留DOS设备。当我们尝试使用此名称创建任何文件或文件夹时,我们无法创建它并导致某种奇怪的错误。

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

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

Dav*_*ill 5

保留文件名

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

Explorer 和 cmd 是不同的程序,在这种情况下,Explorer 比可能需要的限制更多。

根据 Microsoft 官方文档,受限名称列表仅适用于文件而不适用于文件夹:

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

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 应用程序 | 微软文档