批量从同级文件夹下转移文件到同一文件夹
需求
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命令就可以把文件复制或者转移进去了。