批量提取文件夹下文件名
2023年10月26日 · 532 字 · 2 分钟 · Windows
单纯是用到了这个记录一下。
步骤
- 新建一个文件,将如下内容复制粘贴进去,然后修改文件后缀为
bat
DIR *.* /B >LIST.TXT
这个脚本的原理是将当前文件夹下的文件列出并打印到LIST.TXT
dir
是查找,后面跟的是查找的参数/s
查找当前目录以及所有子目录下的文件(包含子文件夹)/b
舍弃标题与摘要内容(带上就对了)/a [[:] Attributes]
只显示指定属性的目录名和文件名/a-d
只显示文件,而非目录(省略了冒号,打全了是/a:-d
)
- 双击运行该
bat
文件,结果会保存在LIST.TXT
批量替换
因为我做这一步的目的是为了把文件全部上传到图床,然后引用,所以需要对文件插入的链接进行修改。
例如:
mmexport1654417385133.jpg
替换为
![](https://cdn.jsdelivr.net/gh/lizilong1993/image@main/picture/summer/mmexport1654417385133.jpg)
- 使用
VS Code
或其它具备批量替换能力的IDE打开LIST.TXT
- 使用编辑器的替换功能,注意选中正则表达式,如下图所示
- 在搜索框输入你的匹配表达式,我的这里是
(mmexport[0-9]*.jpg)
,其它匹配式见在线正则表达式测试 (oschina.net) - 在替换内容部分输入你的替换内容,用
$1
表示你上面搜索框的第一个括号内的内容,此处就是mmexport[0-9]*.jpg
,也就是匹配到的文件名。如果有多个括号,则依次为$2
,$3
等等。 - 全部替换,大功告成🎉