如何在python脚本中批量复制多个文件夹调用robocopy? [英] How can i call robocopy within a python script to bulk copy multiple folders?

查看:1496
本文介绍了如何在python脚本中批量复制多个文件夹调用robocopy?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试在网络驱动器之间移动多个大文件夹(> 10 Gb,> 100个子文件夹,> 2000个文件)。我试过在python中使用shutil.copytree命令工作正常,除了它不能复制一个小百分比(<文件)的不同原因不同的原因。

I am trying to move multiple large folders (> 10 Gb , > 100 sub folders, > 2000 files ) between network drives. I have tried using shutil.copytree command in python which works fine except that it fails to copy a small percentage (< 1 % of files ) for different reasons.

我相信robocopy是我最好的选择,因为我可以创建一个记录传输过程的日志文件。然而,因为我需要复制> 1000文件夹手动工作是没有问题的。

I believe robocopy is the best option for me as i can create a logfile documenting the transfer process. However as i need to copy > 1000 folders manual work is out of question.

所以我的问题本质上是如何调用robocopy(即命令行)脚本确保日志文件写在外部文件中。

So my question is essentially how can i call robocopy (i.e. command line ) from within a python script making sure that logfile is written in an external file.

我在Windows 7环境中工作,由于组织限制,Linux / Unix是个问题。

I am working on a Windows 7 environment and Linux/Unix is out of question due to organizational restrictions. If someone has any other suggestions to bulk copy so many folders with a lot of flexibility they are welcome.

推荐答案

Subproccess 允许您进行系统调用。这将允许您从命令行调用robocopy。

Subproccess allows you to make system calls. This will allow you to call robocopy as you would from the command line.

from subprocess import call
call(["robocopy", "basefolder newfolder /S /LOG:mylogfile"])

这篇关于如何在python脚本中批量复制多个文件夹调用robocopy?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆