windows 不能命名文件为 con

2020-10-16 16:04:57 +08:00
 SakuraSa

我最近入职了新公司,公司暂时 mac 缺货,于是我需要用一段时间 windows 做开发机。

本来我觉得:“反正开发代码,操作系统就是做一个 IDE 的容器,用 windows 也没什么问题。”

可是马上我就被打脸了: 公司的一个项目里,名字叫做 con 的文件统统 checkout 不下来(无论后缀为什么

google 了一下,发现 con 居然是 windows 的保留字,不允许命名文件或文件名为 con/nul/aux 等等。。

于是,我只能在虚拟机里开 ide 来开发代码了。。。

5310 次点击
所在节点    程序员
35 条回复
kindjeff
2020-10-16 16:12:26 +08:00
第一次发现这件事的时候我还是小男孩,如今已经是俩个孩子的妈了
Yumwey
2020-10-16 16:16:03 +08:00
我证明,楼上是我兄弟。
JJstyle
2020-10-16 16:24:18 +08:00
@kindjeff 你这小男孩是这么当妈的?!
jiumingzhu
2020-10-16 16:24:47 +08:00
yangheng4922
2020-10-16 16:31:30 +08:00
git bash touch con 可以创建 con 的文件
xiangyuecn
2020-10-16 16:42:01 +08:00
youla
2020-10-16 16:49:35 +08:00
用 git-bash

mkdir con

可以。

还有命名 nul 也不行哦。
youla
2020-10-16 16:50:26 +08:00
才发现帖子里提到了,一目五十行没注意。
Tink
2020-10-16 17:02:14 +08:00
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9.
Raven316
2020-10-16 17:23:07 +08:00
felixcode
2020-10-16 17:24:51 +08:00
所以 Windows 不适合开发?开发还得用 Mac ?
azkaban
2020-10-16 17:54:14 +08:00
在 wsl 里试了一下,建啥目录都没问题
exceloo
2020-10-16 17:57:03 +08:00
难道你们不知道以前 win 系统在运行中输入 /con/con 会导致死机吗?
暴露年龄了。。。
whywhywhy
2020-10-16 18:41:09 +08:00
@exceloo Windows 98
syuraking
2020-10-16 18:46:38 +08:00
DOS 时代 con 就是设备的标识符,只能说明,你不懂微软的 DOS……
xiri
2020-10-16 19:27:21 +08:00
这是 dos 时代遗留下来的,微软为了兼容性一直没有修改
lovecy
2020-10-16 19:40:09 +08:00
我再说一个事,SVN 上面有两个目录,名字一样但是大小写不同,checkout 到 windows 机器上会因为重名,导致两个目录的内容被奇怪的合并到一起
hakono
2020-10-16 19:46:35 +08:00
不是,楼主你为啥不在 wsl/wsl2 下开发
BostonCorbett
2020-10-16 20:02:22 +08:00
@kindjeff 什么意思?
jim9606
2020-10-16 20:17:02 +08:00
感觉这是文件 API 的路径处理出现歧义导致的,资源管理器不能创建,删不掉,能显示文件存在,但文件属性不能正常显示。
看了下这个问答( https://stackoverflow.com/questions/17883481/delete-a-file-named-nul-on-windows),用 UNC path 可以解决。
@jiumingzhu 的文档也只是说不建议用保留字,至少文件系统本身并没有这个限制。
你要知道,以前的资源管理器是不允许新建句号开头的文件的,例如".nomedia"这样的,纯属自己设限。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/715678

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX