由于电脑中有大量文件是放在一个文件夹中,每个文件可能都有几个版本,想要把同类文件全部放到各自文件夹下。
例如有以下文件,想要放到只包含文件号和文件名的文件夹下,YCRO358-E-871-XT-003 690VAC DP SWBD Terminal Diagram
YCRO358-E-871-XT-003 Rev.1 690VAC DP SWBD Terminal Diagram.pdf
YCRO358-E-871-XT-003 Rev.2 690VAC DP SWBD Terminal Diagram.dwg
YCRO358-E-871-XT-003 Rev.3 690VAC DP SWBD Terminal Diagram.pdf
文件夹都是批量事先建好的,和文件放在同一个目录下。
下面用Python实现批量移动,
import os,shutil
for folderName, subfolders, filenames in os.walk('D:\\3 BP\\2 Drawings\\Yard Scope'): # 这个是文件和文件夹所在目录
for subfolder in subfolders:
for filename in filenames:
if filename[:20] == subfolder[:20]: #这个是用来对比文件和文件夹的前20个字符,如果一样,就移动
try: #这个try一定要有的,因为不加的话,一旦出错了,就不继续执行了
shutil.move(folderName + '\\'+ filename, folderName + '\\'+ subfolder)
except OSError:
pass