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

2019-11-13 12:44:19 +08:00
 xiaoming1992

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

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

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

@optional 也怪我自己一开始没有考虑到这个问题,如果在创建文件索引的时候就注意这个问题,就不会有这些麻烦事了。。。
autoxbc
2019-11-13 14:23:58 +08:00
操作文件前读一下父目录,列出的文件名是大小写敏感的,如果存在严格匹配的文件名,则继续操作,否则抛出错误
dorothyREN
2019-11-13 16:25:42 +08:00
用文件名区分呗,a != A
ysc3839
2019-11-13 16:32:52 +08:00
WSL 好像支持。
ysc3839
2019-11-13 16:36:56 +08:00
xiaoming1992
2019-11-13 17:53:26 +08:00
@dorothyREN 是,我没想到,我总想着从文件名找文件,却没想过从文件读取文件名来和索引对比

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

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

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

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

© 2021 V2EX