标题: [文件操作] 批处理如何实现将文本中列出的文件/文件夹复制或移动到指定文件夹里 [打印本页]
作者: 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 编辑
- import os
- import shutil
- import re
- lis=open('list1.txt', 'r').read().split()
- yuan = r'C:\Users\xxxx\Desktop\求助资料\求助资料\原文件夹'
- target = r'C:\Users\xxxx\Desktop\求助资料\求助资料\目标文件夹'
- for i in os.listdir(yuan):
- inew = re.split('[\n|.]',i)[0]
- if inew in lis:
- old = os.path.join(yuan,i)
- new = os.path.join(target,i)
- lis.remove(inew)
- if os.path.isdir(old):
- if os.path.exists(new):
- pass
- else:
- shutil.copytree(old,new)
- else:
- shutil.copy(old,new)
- for s in lis:
- 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 |