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

批量文件重命名是一個低頻但時不時又會遇到的需求,非常適合在線工具的形式,即用即走。

搜索了一圈,沒有發現可以直接實現這個功能的網站,不過找到了相關的 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/重命名/

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