Windows 居然不允许将文件名命名为 aux.c ?!? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
请用平和的语言准确描述你所遇到的问题
厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
villivateur
1.56D
V2EX    全球工单系统

Windows 居然不允许将文件名命名为 aux.c ?!?

  •  
  •   villivateur 2024-02-23 14:16:47 +08:00 3754 次点击
    这是一个创建于 599 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天在 Windows 上 clone 了一份 linux kernel 代码,checkout 的时候报错:

    error: invalid path 'drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c'

    结果发现是 Windows 不允许将文件名命名为 aux.c ……

    准确地说,是不允许命名为任何以 aux 开头的文件,不管什么后缀名

    24 条回复    2024-02-24 17:47:25 +08:00
    Eiden
        1
    Eiden  
       2024-02-23 14:22:52 +08:00
    无法复现
    registerrr
        2
    registerrr  
       2024-02-23 14:26:29 +08:00
    无法复现
    villivateur
        3
    villivateur  
    OP
       2024-02-23 14:28:14 +08:00
    si
        4
    si  
       2024-02-23 14:29:57 +08:00
    有些文件名是保留,aux 、con 、nul 之类的好像是 DOS 的设备名称
    Goooooos
        5
    Goooooos  
       2024-02-23 14:42:10 +08:00
    用了那么多年 windows ,才知道
    angry41
        6
    angry41  
       2024-02-23 14:44:18 +08:00
    win11 ,无法复现
    Nooooobycat
        7
    Nooooobycat  
       2024-02-23 14:44:23 +08:00
    windows11 23h2 22631.3155 可以创建,没这个限制
    windows10 22h2 19045.4046 无法创建,复现成功
    masterclock
        8
    masterclock  
       2024-02-23 14:47:36 +08:00
    CON 、LPTx 、COMx 、NUL 等都不行的
    zqx
        9
    zqx  
       2024-02-23 14:51:09 +08:00 via Android
    巧了,我今天把 linux 子系统复制到另一个盘,也是一些内核文件无法复制。
    peanutBark
        10
    peanutBark  
       2024-02-23 14:51:10 +08:00
    ChatGpt
    在 Windows 操作系统中,有一些保留的文件名,这些文件名与早期的 MS-DOS 和 Windows 版本的历史有关。这些保留的文件名包括 CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3 等。

    这些名称被保留是因为它们是用于特定设备或系统功能的特殊文件名。例如:

    CON 代表控制台。
    PRN 代表打印机。
    AUX 代表辅助设备,通常是指串行端口。
    NUL 代表空设备。

    由于这些名称被操作系统用于特殊目的,所以不能将它们用作普通文件或文件夹的名称。如果尝试使用这些保留名称创建文件或文件夹,Windows 通常会报错或拒绝操作。这是为了避免与系统功能发生冲突或混淆。
    hronro
        11
    hronro  
       2024-02-23 14:52:50 +08:00
    确实逆天
    Tumblr
        12
    Tumblr  
       2024-02-23 14:53:22 +08:00
    Windows 11 无法复现:
    Cooky
        13
    Cooky  
       2024-02-23 14:53:58 +08:00 via Android   1
    windows 在命名的一些限制,你用 msys2 里的 shell 就可以建这些名字的文件
    zqx
        14
    zqx  
       2024-02-23 14:54:51 +08:00 via Android
    @zqx 但是在 windows 上安装 linux 时却可以正常安装,而且可以解压出 aux 目录
    Kroos
        15
    Kroos  
       2024-02-23 15:30:50 +08:00

    Win11 可以创建,但是没办法通过 Onedrive 同步。
    villivateur
        16
    villivateur  
    OP
       2024-02-23 15:37:06 +08:00
    @Kroos 哈哈,这是不是证明了 Onedrive 服务器是 Windows server
    geelaw
        17
    geelaw  
       2024-02-23 15:43:08 +08:00
    是 Win32 禁止使用 AUX 等 DOS 设备名作为文件名,另外这个从 MS-DOS 时代就有了。关于为什么加任意扩展名、在任意目录都不行,参考 https://devblogs.microsoft.com/oldnewthing/20031022-00/?p=42073
    FengMubai
        18
    FengMubai  
       2024-02-23 16:17:31 +08:00
    @Cooky git shll 测试可用
    kokutou
        19
    kokutou  
       2024-02-23 16:27:11 +08:00
    cmd 可以的
    windows 有保留字 gui 创建的时候是不行的
    caiqichang
        20
    caiqichang  
       2024-02-23 16:42:02 +08:00
    win10 可以通过 wsl 创建修改
    PrinceofInj
        21
    PrinceofInj  
       2024-02-23 17:10:52 +08:00
    越来我真的老了
    gefranks
        22
    gefranks  
       2024-02-23 17:31:48 +08:00
    看到这个文件名的时候我就想起 MSDOS 的保留字了.
    clorischan
        23
    clorischan  
       2024-02-23 22:48:04 +08:00
    win11 gui 可以创建
    mmdsun
        24
    mmdsun  
       2024-02-24 17:47:25 +08:00 via iPhone
    NUL 也不行。这和 Linux 下不能创建/dev/null 文件一样
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3186 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 00:32 PVG 08:32 LAX 17:32 JFK 20:32
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86