在python中调用Robocopy - 交换机不工作?

时间:2017-01-20 02:53:49

标签: python subprocess

所以从我的代码中我调用子进程模块     导入子流程

subprocess.call([r"robocopy", r"N:\\GIS\\Projects\\MarkTarrant_Data_Export", r"\\glenllsub1\\spatial\\LLS_Data\\Corporate_Data\\"])

这样可以正常完成复制!

但是当我将开关/ S / E / MIR添加到最后时会产生错误。

subprocess.call([r"robocopy", r"N:\\GIS\\Projects\\MarkTarrant_Data_Export", r"\\glenllsub1\\spatial\\LLS_Data\\Corporate_Data\\" /S /Z /MIR])


NameError: name 'S' is not defined

如果我将开关添加到字符串的末尾

subprocess.call([r"robocopy", r"N:\\GIS\\Projects\\MarkTarrant_Data_Export", r"\\glenllsub1\\spatial\\LLS_Data\\Corporate_Data\\ /S /Z /MIR"])

它复制但创建开关作为复制产品中的子目录而不是我想要的。

很可能是一个简单的Noob错误我忽略了!

1 个答案:

答案 0 :(得分:1)

开关应作为单独的字符串添加,以逗号分隔。像这样:

subprocess.call(
    ["robocopy", "N:\\GIS\\Projects\\MarkTarrant_Data_Export",
    "\\glenllsub1\\spatial\\LLS_Data\\Corporate_Data\\", "/S", "/Z", "/MIR"]
)