刚刚在 idea 里面创建文件,叫 con.txt ,提示创建失败。
然后我直接到 windows 资源管理器里面去创建,提示"指定的设备名无效",这是什么鬼隐藏的 BUG ?
微软不允许我文件起名叫 con 吗? con.html 也没法创建。
系统版本:win10
1
dandycheung 2018 年 6 月 6 日 via Android
不能。con 是特殊文件,还有其他的几个,DOS 年代的遗留产物。
|
2
hjc4869 2018 年 6 月 6 日 不能创建的文件包括 CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9。
另外,你可以用 cygwin 强行创建。 |
3
leafin OP |
4
hjc4869 2018 年 6 月 6 日
@leafin 这不是 bug,是为了兼容性。
早期 Windows 设计 CreateFile("CON")打开 console,COMx 串口,LPTx 并口,NUL 相当于 UNIX 的 /dev/null,到现在一直向下兼容。 |
5
0attocs 2018 年 6 月 6 日 via iPhone
@leafin 这不是 bug,是保证兼容的 feature。CON 是 NT device namespace 的保留名,CON+扩展名在 NT namespace 之上的 win32 file namespace,可以但不推荐创建。
|
6
Magnus1k 2018 年 6 月 6 日
dos 时代可以直接用 con 从键盘获取数据
比如 copy con abc.txt |
7
hljjhb 2018 年 6 月 6 日 via Android
nul 同理
|
8
heimeil 2018 年 6 月 6 日
这兼容跨度也没谁了
|
9
Athrob 2018 年 6 月 6 日
好久前遇到过, 确实如 2 楼所说那些文件不能创建.
|