跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • windows 不能命名文件为 con
未分類
24 10 月 2020

windows 不能命名文件为 con

windows 不能命名文件为 con

資深大佬 : SakuraSa 3

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

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

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

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

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

大佬有話說 (35)

  • 資深大佬 : kindjeff

    第一次发现这件事的时候我还是小男孩,如今已经是俩个孩子的妈了

  • 資深大佬 : Yumwey

    我证明,上是我兄弟。

  • 資深大佬 : JJstyle

    @kindjeff 你这小男孩是这么当妈的?!

  • 資深大佬 : jiumingzhu

    https://docs.microsoft.com/zh-cn/windows/win32/fileio/naming-a-file?redirectedfrom=MSDN

  • 資深大佬 : yangheng4922

    git bash touch con 可以创建 con 的文件

  • 資深大佬 : xiangyuecn

    windows 不能命名文件为 con

  • 資深大佬 : youla

    用 git-bash

    mkdir con

    可以。

    还有命名 nul 也不行哦。

  • 資深大佬 : youla

    才发现帖子里提到了,一目五十行没注意。

  • 資深大佬 : Tink

    CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9.

  • 資深大佬 : Raven316

    windows 不能命名文件为 con

  • 資深大佬 : felixcode

    所以 Windows 不适合开发?开发还得用 Mac ?

  • 資深大佬 : azkaban

    在 wsl 里试了一下,建啥目录都没问题

  • 資深大佬 : exceloo

    难道你们不知道以前 win 系统在运行中输入 /con/con 会导致死机吗?
    暴露年龄了。。。

  • 資深大佬 : whywhywhy

    @exceloo Windows 98

  • 資深大佬 : syuraking

    DOS 时代 con 就是设备的标识符,只能说明,你不懂微软的 DOS……

  • 資深大佬 : xiri

    这是 dos 时代遗留下来的,微软为了兼容性一直没有修改

  • 資深大佬 : lovecy

    我再说一个事,SVN 上面有两个目录,名字一样但是大小写不同,checkout 到 windows 机器上会因为重名,导致两个目录的内容被奇怪的合并到一起

  • 資深大佬 : hakono

    不是,主你为啥不在 wsl/wsl2 下开发

  • 資深大佬 : BostonCorbett

    @kindjeff 什么意思?

  • 資深大佬 : jim9606

    感觉这是文件 API 的路径处理出现歧义导致的,资源管理器不能创建,删不掉,能显示文件存在,但文件属性不能正常显示。
    看了下这个问答( https://stackoverflow.com/questions/17883481/delete-a-file-named-nul-on-windows),用 UNC path 可以解决。
    @jiumingzhu 的文档也只是说不建议用保留字,至少文件系统本身并没有这个限制。
    你要知道,以前的资源管理器是不允许新建句号开头的文件的,例如”.nomedia”这样的,纯属自己设限。

  • 資深大佬 : realpg

    2002 年我就会

    netstat -anop tcp | find “:80” > con

  • 資深大佬 : ysc3839

    @jim9606 不能新建点开头的文件是个 bug,现在已经被修复了。而不能命名为 CON 则是兼容问题。

  • 資深大佬 : lithiumii

    win 不能建立,但可以用 wsl 建立
    但也没用,回到 win 里也不能访问,好像还不能删除

  • 資深大佬 : wangxiaoaer

    多谢主,以前还真不知道这个。

  • 資深大佬 : guanaco

    copy con ,好久没用了

  • 資深大佬 : lxilu

    @lovecy #17 fsutil file setCaseSensitiveInfo X:path enable

  • 資深大佬 : ysc3839

    @lxilu 顺带一提,Windows 有个注册表项控制文件系统是否区分大小写,但是别开!我之前开了之后蓝牙直接用不了了……

  • 資深大佬 : by73

    确实很烦人。。之前在 Windows 下 checkout kernel 就出现了这个问题。。只能说 Windows 兼容性太强了(

    后来改用了虚拟机 = =

  • 資深大佬 : lihongming

    宁可装个 Linux 桌面版也不要用 Windows 做开发,坑太多了。

    现在除了 Windows 都是类 Unix 的天下,传说将来 Windows 也要像 Mac 一样在类 Unix 系统的基础上重构。

  • 資深大佬 : locoz

    还有冒号也是,Linux 和 Mac 下都可以使用,但 Windows 是不行的。

  • 資深大佬 : lxml

    @lovecy 因为 Windows 默认的磁盘格式是大小写不敏感的,非常拉胯

  • 資深大佬 : ysc3839

    @lxml Windows 用的 NTFS 是大小写敏感的,且不能关闭,Windows 是在别的层次做了大小写处理。
    macOS 的文件系统才是可选是否大小写敏感,并且默认选的是不敏感。

  • 資深大佬 : optional

    @lxml Mac 中枪,默认大小写不敏感

  • 資深大佬 : baobao1270

    其实从 NTFS/ReFS 的层面上来说,它们只要文件名里没有 “/” or “” 其他文件名都可以,毕竟这两个 FS 可以在 LINUX 下面跑。这层限制只是 Explorer 层面以及一部分 Windows API 层面的限制。

  • 資深大佬 : changwei

    以前 windows 服務器上面的不死僵尸 webshell 就是利用文件扩展名带这些保留字符实现隐藏和免杀的

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具