刚刚在 idea 里面创建文件,叫 con.txt ,提示创建失败。
然后我直接到 windows 资源管理器里面去创建,提示"指定的设备名无效",这是什么鬼隐藏的 BUG ?
微软不允许我文件起名叫 con 吗? con.html 也没法创建。
系统版本:win10
1
dandycheung 2018-06-06 12:14:24 +08:00 via Android
不能。con 是特殊文件,还有其他的几个,DOS 年代的遗留产物。
|
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 强行创建。 |
3
leafin OP |
4
hjc4869 2018-06-06 12:45:03 +08:00
@leafin 这不是 bug,是为了兼容性。
早期 Windows 设计 CreateFile("CON")打开 console,COMx 串口,LPTx 并口,NUL 相当于 UNIX 的 /dev/null,到现在一直向下兼容。 |
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,可以但不推荐创建。
|
6
Magnus1k 2018-06-06 13:00:45 +08:00
dos 时代可以直接用 con 从键盘获取数据
比如 copy con abc.txt |
7
hljjhb 2018-06-06 13:19:56 +08:00 via Android
nul 同理
|
8
heimeil 2018-06-06 14:05:16 +08:00
这兼容跨度也没谁了
|
9
Athrob 2018-06-06 14:28:11 +08:00
好久前遇到过, 确实如 2 楼所说那些文件不能创建.
|