Board logo

标题: [文件操作] 批处理如何实现将文本中列出的文件/文件夹复制或移动到指定文件夹里 [打印本页]

作者: prily1314    时间: 2016-9-8 10:12     标题: 批处理如何实现将文本中列出的文件/文件夹复制或移动到指定文件夹里

本帖最后由 pcl_test 于 2016-9-8 17:42 编辑

批量复制或者移动文件夹和文件到指定文件夹
现在是一个文件夹中有若干子文件夹和单文件,子文件夹中也有若干单个文件。
需要将子文件夹也当成单个文件进行移动处理,视每个子文件夹为一个单个文件。现在有需要移动的文件清单(可以是excel和txt文件列表),文件清单中包含单个文件和文件夹。
请教如何将清单中的文件和文件夹批量复制或者移动到指定文件夹,如果可行,最好能将移动失败或者原文件夹中没有的列出到txt文件。
作者: 949825667@qq.co    时间: 2016-9-8 11:49

本帖最后由 949825667@qq.co 于 2016-9-9 17:56 编辑
  1. import os
  2. import shutil
  3. import re
  4. lis=open('list1.txt', 'r').read().split()
  5. yuan = r'C:\Users\xxxx\Desktop\求助资料\求助资料\原文件夹'
  6. target = r'C:\Users\xxxx\Desktop\求助资料\求助资料\目标文件夹'
  7. for i in os.listdir(yuan):
  8.     inew = re.split('[\n|.]',i)[0]
  9.     if inew in lis:
  10.         old = os.path.join(yuan,i)
  11.         new = os.path.join(target,i)
  12.         lis.remove(inew)
  13.         if os.path.isdir(old):
  14.             if os.path.exists(new):
  15.                 pass
  16.             else:
  17.                 shutil.copytree(old,new)
  18.         else:
  19.             shutil.copy(old,new)
  20. for s in lis:
  21.     open('list2.txt', 'a+').write(s+'\n')
复制代码
根据你给的求助资料改的。你有时间等不如看看Python怎么用,和bat差不多!
作者: prily1314    时间: 2016-9-8 13:27

回复 2# 949825667@qq.co


    不知道是我弄错了还是其他原因,没有成功,我也不懂BAT,只晓得使用。
作者: 949825667@qq.co    时间: 2016-9-8 13:31

本帖最后由 949825667@qq.co 于 2016-9-8 13:46 编辑

回复 3# prily1314


    这个不是bat,需要安装Python使用,3.0以上的版本即可。Python安装和使用很简单,你自己百度一下吧!
作者: 949825667@qq.co    时间: 2016-9-8 13:35

回复 3# prily1314


    你只要修改三个关键参数就好了,一个是你的清单文件,一个是源文件目录,一个是你目标文件目录
作者: 949825667@qq.co    时间: 2016-9-8 13:45

本帖最后由 pcl_test 于 2016-9-8 13:58 编辑

回复 3# prily1314

2楼重新改了一下,如果文件清单里的文件没有的话,会列在buglist.txt这个文件里面
作者: prily1314    时间: 2016-9-9 09:11

回复 4# 949825667@qq.co


      这个不是bat啊,Python不会使用,希望能用bat解决,想必应该不难的。
作者: 949825667@qq.co    时间: 2016-9-9 10:09

回复 7# prily1314


    东西给你了,用不用在你了!我不会bat,你等大神吧!
作者: 523066680    时间: 2016-9-9 10:19

想必应该是不难的,交给你们了

作者: CrLf    时间: 2016-9-9 10:50

想必应该是不难的,交给你们了

作者: GNU    时间: 2016-9-9 14:07

请给出以下信息以便测试代码
1. 原始目录结构
2. 希望到的目录结构
3. 需要移动的文件清单
作者: prily1314    时间: 2016-9-9 16:12

回复 11# GNU


    谢谢




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2