文件批量重命名之在线版本-前端的本地文件操作

批量文件重命名是一个低频但时不时又会遇到的需求,非常适合在线工具的形式,即用即走。

搜索了一圈,没有发现可以直接实现这个功能的网站,不过找到了相关的 API

FileSystemFileHandle.move() for local files - Chrome Platform Status

Chrome 于 111 版本(2023年3月)添加了 move 这个API ,可以直接对本地文件进行重命名,目前 MDN 上还没有文档。

在线体验:https://rename.jgrass.xyz/
Github: JasonGrass/rename: 在线文件批量重命名

感叹于浏览器的能力边界越来越大了,加上 webassembly ,估计以后很多功能都可以直接在浏览器上实现了。

关于更多本地文件操作的支持,可以看这里:File System Access API:简化对本地文件的访问  |  Capabilities  |  Chrome for Developers

主要的问题

FileSystemFileHandle.move 方法对文件进行重命名时,会更改文件的“修改时间”,而手动重命名或使用本地重命名工具,不会有这个问题。在部分场景下还是会造成困扰。

不知道这个算不算 BUG,在 Add FileSystemHandle.move method by a-sully · Pull Request #10 · whatwg/fs 这里提交了反馈,但是不知道有没有提交对地方。🤣

在这里(Intent to Ship: FileSystemFileHandle.move() for local files)也提交了反馈。

希望能今早修复吧。

工具的扩展

除了文件的重命名,移动等,还有包括文件夹的重命名和移动,所以就上述工具来说,可以丰富成一个文件与文件夹整理的工具。甚至因为可以直接读取本地文件的内容,还可以加入预览功能。

当然,https://vscode.dev/ 应该也是借助相关能力,直接浏览器读取本地代码文件进行编辑的。

对比本地原生工具

首先,为了安全考虑,浏览器当然只会允许 web 读取用户允许的文件夹内的文件,并且 web 是无法知道文件的绝对路径的。
另外,相比原生工具,浏览器提供的文件属性信息很少,只有大小,修改时间,文件类型等几项,所以有些本地本地工具可以读取并修改 mp3 文件的音乐标签,这个现在 web 端提供的 API 还做不到。
不过,大部分场景都够用了。

这里有一些本地原生工具的推荐:https://github.com/JasonGrass/rename/discussions/3 ,或者直接看小众软件的整理: https://www.appinn.com/tag/重命名/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章