批量重命名是一个低频但时不时又会遇到的需求,非常适合在线工具的形式,然后还真发现了相关的 API 。
FileSystemFileHandle.move() for local files - Chrome Platform Status
chrome 于 111 版本添加的 move
API ,可以直接对本地文件进行重命名,目前 MDN 上还没有文档,应该还不是标准。
在线体验: Rename - 批量文件重命名工具
Github: JasonGrass/rename: 在线文件批量重命名
功能还不是很丰富,等之后有空了再完善吧。不过,正则表达式替换,已经可以覆盖很多高级场景了。
感叹于浏览器的能力边界越来越大了,加上 webassembly ,估计以后很多功能都可以直接在浏览器上实现了,多方便。🤣
1
Anubisks 2023-12-18 23:35:27 +08:00
其实 Windows 的 powertoy 是一个不错的选择
|
2
tool2d 2023-12-19 00:31:45 +08:00
我也写了一个,但我是生成 bat 后,再本地运行的。
原因是一些下载的 mp4 ,文件名实在太长了。 |
3
dianso 2023-12-19 00:39:56 +08:00
我都不用工具,直接问 gpt ,把要求描述下,基本一次性就能给我个 win11 用的 ps1 批处理。
|
4
ab 2023-12-19 00:52:38 +08:00 1
如果是 mac 的话,automator 自带一个批量重命名的服务
|
5
kkwa56188 2023-12-19 03:16:06 +08:00
PowerToys 里有个 PowerRename 挺好用的,
要是我自己做轮子的话, 个人会使用 python, 手里有一个锤子 看什么都像钉子 |
6
fox0001 2023-12-19 07:57:36 +08:00 via Android
shell 脚本不会写吗?
|
7
fox0001 2023-12-19 08:00:22 +08:00 via Android
我觉得,重点不是“能不能”,而是“该不该”。如果权限控制出 bug ,就等于你的电脑能被网站(利用浏览器)控制…
|
8
jisuowei 2023-12-19 08:27:33 +08:00
我也写过一个类似的,但不是用的这个 API ,我是读到浏览器里改完再下载回来 https://jisuowei.com/app/RenameMan
|
9
JasonGrass OP @fox0001 #7 浏览器不会允许网站直接读取你的文件的,每次使用都需要授权。这个跟你使用网页上传文件一样,需要你手动授权,在正常的浏览器上,没有哪个网页可以偷偷摸摸地读取你的文件。
|
10
JasonGrass OP @tool2d 这个思路棒诶,而且举一反三的话,确实很多事情,都可以用可视化界面做配置,然后生成脚本再执行
|
11
JasonGrass OP @fox0001 #6 照您这么说,很多工具都没有存在的必要。只能说,这些工具的受众不是您这种大神,是咱这种只想点点鼠标的普通人。
|
12
webs 2023-12-19 08:56:41 +08:00
命令行有个 rename 命令可以直接用。。。
|
13
JasonGrass OP @dianso 当代最新高级玩法 😂
|
14
JasonGrass OP @Anubisks 你不说我都忘了电脑上装了这个软件,果然还是没用习惯 😥
|
15
JasonGrass OP @ab thanks, 新技能 GET
|
16
davin 2023-12-19 09:20:59 +08:00
几乎不怎么用额外的软件/命令行,新手也比较适合的
Windows 系统批量重命名: 1. Ctrl+A 全选或鼠标选中需要批量重命名的文件; 2. 在第一个文件旁点击鼠标右键,在菜单栏中选择 “重命名”; 3. 输入命名方式,按下 Enter 键后,所有文件都会以这一方式自动重命名,并在后面加上序号。 macOS 系统批量重命名: https://support.apple.com/zh-cn/guide/mac-help/mchlp1144/mac |
17
fox0001 2023-12-19 09:21:02 +08:00 via Android
@JasonGrass #9 所以我说是出 bug 的情况下。但是也不排除一些魔改版本,做恶意功能。
|
18
wangtian2020 2023-12-19 09:26:27 +08:00
又从 nodejs 上偷功能了
|
19
mainjzb 2023-12-19 09:28:09 +08:00
这类需求适合 python+gpt
|
20
JasonGrass OP @fox0001 #17 那确实,所以还是大厂的浏览器比较靠谱
|
21
JasonGrass OP @wangtian2020 😂 竟然是从 nodejs 上来的功能,有点意思
|
22
Byzliu 2023-12-19 12:43:40 +08:00 via Android
可以试试 Advanced Renamer 这个挺好用的
|
23
JasonGrass OP @Byzliu thanks ,复杂的重命名需求,现在确实还是本地工具比较好用。一开始的想法,是弄个即用即走的工具,不用下载不用安装,就想到了网页版本的。
|
24
ns09005264 2023-12-19 13:15:05 +08:00
我用 vim 做文件[批量]重命名的,配合 lf 之类的终端文件管理器选择文件,然后在 vim 中进行操作就可以了,想用正则用正则,想用 V-Block 多行编辑就用。
由于它是基于 mv 命令进行命名的,所以可以做到给不同文件夹里的文件们同时重命名,或者将一个文件夹里的文件分发到不同的文件夹。 |
25
laqow 364 天前
浏览器有这种功能可怕的一比啊,随便写点东西诱导一下或者把哪个广告窗口的关闭按钮放到 确定 气泡的位置就可以诱导操作本地文件,甚至 chrome 蹩脚中文本身的迷惑性带来的误操作
|
26
ccxuy 364 天前
这个看起来很不错啊,是不是能加一个记录重命名规则,多个规则顺序处理的功能?
|
28
SilencerL 364 天前
所以 https://vscode.dev/ 才能实现功能
|
29
chnwillliu 364 天前 via Android
网页授权设备后串口烧固件写镜像到 U 盘这种都可以在 web 页面里完成,相当方便。
Web Bluetooth ,Web Serial ,Web USB ,Web GPU 一大波系统级 API 慢慢开放给 Web 了。 |
30
chnwillliu 364 天前 via Android
@laqow 浏览器在这方面确实要克制,但本质还是用户要自己甄别网页是否可信。好比安卓上你下小软件,不论三七二十一,联系人短信相册甚至屏幕权限都一通授权,钱没了才发现上当了,回头说手机中毒了。只能教育大众别瞎装小软件,你能说安卓开放这些 API 危险吗?
|
31
JasonGrass OP @ccxuy 现在功能还比较初级,得等有空再弄了,我先记到 issue 中
|
32
JasonGrass OP @chnwillliu #29 这些 API 都在路上了吗?浏览器要变成操作系统了…… 😂
|
33
netme 364 天前
Bulk Rename Utility
|
34
JasonGrass OP @netme 666 ,看官网截图,这个软件甚至还能自定义 js 代码实现重命名,感觉这个我可以学,哈哈哈
[Bulk Rename Utility - Free File Renaming Software]( https://www.bulkrenameutility.co.uk/ ) |
36
akira 364 天前
那以后电脑里面 内置 语音接收,然后 AI 识别,然后自动执行,这样应该更合理吧
|
37
JasonGrass OP @ccxuy 哦,确实,如果你现在就有一些比较复杂的需求,可以考虑本地批量重命名工具,这里有一些网页的推荐收集:
https://github.com/JasonGrass/rename/discussions/3 |
38
JasonGrass OP @akira 突然想到了老罗的 TNT ,老罗还是太超前了
|
39
james122333 364 天前 via Android
|
40
james122333 364 天前 via Android
|
41
sjtulyj 364 天前
vidir
|
42
SHF 364 天前
|
43
DOLLOR 364 天前
关键是 showDirectoryPicker 这个接口吧,选定某个目录后,就可以读写里面的文件。很多以前需要 python 、node 才能干的活,现在只需 chrome (及其套壳浏览器)就能干了。
不过目前 firefox 、safari 还未实现。 |
44
geomancy 364 天前 via iPhone
我一直用 acdsee2.4 单文件版 做各种批处理更名 批处理图像转换 非常好用 还支持模式匹配
|
45
yuzo555 364 天前
MDN 上的兼容性表格说 Chrome 还不支持 FileSystemFileHandle.move (但 Firefox 支持了),应该是没更新
|
46
FaiChou 364 天前 via iPhone
记得 emacs 有个模式,可以把所有文件列表当作文本处理,保存即可重命名或标记 delete 之类的。
|
47
paopjian 364 天前
浏览器大一统操作系统指日可待
|
48
param 364 天前 via Android
这个接口得有访问范围吧,要求用户先将某个目录加入访问范围,再允许某个域去修改,不然那么危险。
|
49
laqow 364 天前
@chnwillliu 危险的一比好吗,安卓就谷歌一脉相承的,本来设计上就是服务服务商的,用户屁权利没有,一通授权哪里是用户能选择的,本身作为 linux 系统权限控制都是现成的逻辑,偏要自己搞一个看起来严密其实全是漏洞的逻辑
|
50
JasonGrass OP @param 这个授权是一次性的,每次使用浏览器都会询问是否允许访问 XXX 文件夹。
|