V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
leafin
V2EX  ›  Windows

在 Win10 中不能创建 con.txt 文件?

  •  
  •   leafin · 2018-06-06 12:03:49 +08:00 · 5158 次点击
    这是一个创建于 2390 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚刚在 idea 里面创建文件,叫 con.txt ,提示创建失败。

    然后我直接到 windows 资源管理器里面去创建,提示"指定的设备名无效",这是什么鬼隐藏的 BUG ?

    微软不允许我文件起名叫 con 吗? con.html 也没法创建。

    系统版本:win10

    9 条回复    2018-06-06 14:28:11 +08:00
    dandycheung
        1
    dandycheung  
       2018-06-06 12:14:24 +08:00 via Android
    不能。con 是特殊文件,还有其他的几个,DOS 年代的遗留产物。
    hjc4869
        2
    hjc4869  
       2018-06-06 12:17:13 +08:00   ❤️ 3
    不能创建的文件包括 CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9。

    另外,你可以用 cygwin 强行创建。
    leafin
        3
    leafin  
    OP
       2018-06-06 12:34:43 +08:00
    @dandycheung
    @hjc4869 可怕,这都什么年代了,不能修复一下吗
    hjc4869
        4
    hjc4869  
       2018-06-06 12:45:03 +08:00
    @leafin 这不是 bug,是为了兼容性。

    早期 Windows 设计 CreateFile("CON")打开 console,COMx 串口,LPTx 并口,NUL 相当于 UNIX 的 /dev/null,到现在一直向下兼容。
    0attocs
        5
    0attocs  
       2018-06-06 12:49:48 +08:00 via iPhone
    @leafin 这不是 bug,是保证兼容的 feature。CON 是 NT device namespace 的保留名,CON+扩展名在 NT namespace 之上的 win32 file namespace,可以但不推荐创建。
    Magnus1k
        6
    Magnus1k  
       2018-06-06 13:00:45 +08:00
    dos 时代可以直接用 con 从键盘获取数据
    比如
    copy con abc.txt
    hljjhb
        7
    hljjhb  
       2018-06-06 13:19:56 +08:00 via Android
    nul 同理
    heimeil
        8
    heimeil  
       2018-06-06 14:05:16 +08:00
    这兼容跨度也没谁了
    Athrob
        9
    Athrob  
       2018-06-06 14:28:11 +08:00
    好久前遇到过, 确实如 2 楼所说那些文件不能创建.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2521 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:51 · PVG 11:51 · LAX 19:51 · JFK 22:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.