V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaoming1992
V2EX  ›  程序员

NodeJS 的 fs 包对文件的操作,有可能在 windows 下大小写严格吗?

  •  
  •   xiaoming1992 · 2019-11-13 12:44:19 +08:00 · 1704 次点击
    这是一个创建于 1838 天前的主题,其中的信息可能已经有所发展或是发生改变。

    怪我开始没注意严格大小写,导致部分索引url 和文件实际url 大小写不一致,在windows下根本就没法找出所有不一致的文件来进行处理。。。
    当然不限定fs 包,任何能实现在windows下读写文件大小写严格的包都可以。

    10 条回复    2019-11-13 17:53:26 +08:00
    momocraft
        1
    momocraft  
       2019-11-13 12:47:37 +08:00
    你期待的大小写严格的行为具体是怎样
    crackhopper
        2
    crackhopper  
       2019-11-13 12:58:39 +08:00
    我记得 windows 系统本身对 url 不区分大小写。只是显示的时候看起来有大小写区分。如果你有两个文件名字一样就大小写不一样,在 windows 下会认为是同一个。
    crackhopper
        3
    crackhopper  
       2019-11-13 12:59:02 +08:00
    我指的是文件系统 url。
    optional
        4
    optional  
       2019-11-13 13:22:37 +08:00
    没什么办法,包括 git 也有这个问题,,其实 mac 下默认也是不区分大小写啊。
    xiaoming1992
        5
    xiaoming1992  
    OP
       2019-11-13 13:46:37 +08:00
    @momocraft 就是在 windows 下,a.jpg 和 A.jpg 被认为是一个文件,并且无法通过代码判断这个文件到底是 a.jpg 还是 A.jpg ,我希望能区分二者。

    @crackhopper 就是说啊,windows 为什么不提供一个类似于严格模式这样的东西呢。。。

    @optional 也怪我自己一开始没有考虑到这个问题,如果在创建文件索引的时候就注意这个问题,就不会有这些麻烦事了。。。
    autoxbc
        6
    autoxbc  
       2019-11-13 14:23:58 +08:00   ❤️ 1
    操作文件前读一下父目录,列出的文件名是大小写敏感的,如果存在严格匹配的文件名,则继续操作,否则抛出错误
    dorothyREN
        7
    dorothyREN  
       2019-11-13 16:25:42 +08:00   ❤️ 2
    用文件名区分呗,a != A
    ysc3839
        8
    ysc3839  
       2019-11-13 16:32:52 +08:00 via Android
    WSL 好像支持。
    xiaoming1992
        10
    xiaoming1992  
    OP
       2019-11-13 17:53:26 +08:00 via Android
    @dorothyREN 是,我没想到,我总想着从文件名找文件,却没想过从文件读取文件名来和索引对比
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3012 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:08 · PVG 22:08 · LAX 06:08 · JFK 09:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.