【发布时间】:2021-02-16 08:55:15
【问题描述】:
我需要一个批处理程序,它在运行后可以像这样工作:
- 我在批处理窗口中输入了一个数字
- 它会在
C:/Print/中查找名为类似输入但扩展名为.tif 的文件 - 如果文件不在
C:/Print/中,那么它应该在所有子目录中查找该文件,例如C:/Print/64326/BCB/1234.tif - 找到文件后应该复制到
D:/HotFolder/
我设法创造了这样的东西,但首先它不能正常工作,第二件事是它不是通用的。
import os, glob, time, shutil
os.chdir("C:/Print")
print("Scan the barcode.")
while True:
barcode = input(">").upper()
tif = f"{barcode}.tif"
if os.path.isfile(tif):
shutil.copy(tif, "D:/HotFolder//")
print(f"File copied succesfully. {tif}")
os.chdir("C:/Print/")
elif not os.path.isfile(barcode):
os.chdir(f"C:/Print/{barcode}")
if os.path.isfile(tif):
shutil.copy(tif, "D:/HotFolder/")
print(f"File copied succesfully. {tif}")
os.chdir("C:/Print/")
elif not os.path.isfile(tif):
os.chdir(f"C:/Print/{barcode}/FCB")
if os.path.isfile(barcode):
shutil.copy(tif, "D:/HotFolder/")
print(f"File copied succesfully. {tif}")
os.chdir("C:/Print/")
elif not os.path.isfile(tif):
os.chdir(f"C:/Print/{barcode}/FCS")
if os.path.isfile(barcode):
shutil.copy(tif, "D:/HotFolder/")
print(f"File copied succesfully. {tif}")
os.chdir("C:/Print/")
elif not os.path.isfile(tif):
os.chdir(f"C:/Print/{barcode}/BCB")
if os.path.isfile(barcode):
shutil.copy(tif, "D:/HotFolder/")
print(f"File copied succesfully. {tif}")
os.chdir("C:/Print/")
elif not os.path.isfile(tif):
os.chdir(f"C:/Print/{barcode}/BCS")
if os.path.isfile(barcode):
shutil.copy(tif, "D:/HotFolder/")
print(f"File copied succesfully. {tif}")
os.chdir("C:/Print/")
else:
print("Error.")
【问题讨论】:
标签: python loops copy subdirectory