批量从同级文件夹下转移文件到同一文件夹

需求

Windows下,某目录下下按照日期(例如2020_06_23)建立文件夹将文件归档,先计划将所有文件都移动到根目录(或其他同一个目录下)。

获取文件名列表

利用CMD命令dir /B/S /A-D > names.txt将路径输出到txt文件中。
其中,dir是cmd下列出文件的命令,开关/B只输出简洁目录名,开关/S可以列子所有子目录中的文件,参数/A是定义文件属性(D表述目录,符号取反)。

使用正则修改文件名

使用Notepad++或其他支持正则替换的软件将文件名改为原文件名_文件名的形式(可以可防止重名),即把斜杠\改为下换线_([\d_]{10})\\替换为\1_

rename重命名

利用Excel排版,复制到txt文件里建立重命名的bat文件,大致如下:

rename	D:\Users\liule\Documents\扫描文件\2020_06_23\IMG_0001.pdf	2020_06_23_IMG_0001.pdf
rename	D:\Users\liule\Documents\扫描文件\2020_06_23\IMG_0002.pdf	2020_06_23_IMG_0002.pdf
rename	D:\Users\liule\Documents\扫描文件\2020_06_28\IMG_0001.jpg	2020_06_28_IMG_0001.jpg
rename	D:\Users\liule\Documents\扫描文件\2020_06_28\IMG_0002.jpg	2020_06_28_IMG_0002.jpg
rename	D:\Users\liule\Documents\扫描文件\2020_07_13\IMG_0001.pdf	2020_07_13_IMG_0001.pdf

移动或复制文件

这里使用Git Bash命令,不知道cmd有没有比较便捷的指令。
切换到工作目录

$ mkdir All
$ cp ./*/* ./All/

建立一个All文件夹,然后使用cp或mv命令就可以把文件复制或者转移进去了。

posted @ 2023-05-04 12:53  LeleLiu  阅读(280)  评论(0编辑  收藏  举报