2017-01-20 17 views
-1

所以從我的代碼中,我調用子模塊 進口子python中調用Robocopy - 交換機無法正常工作?

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 

如果我添加theswitches字符串

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

它複製的結束而造成交換機作爲複製的產品子目錄不是我想要的。

很可能是一個簡單的Noob錯誤,我忽略了!

回答

1

交換機應該添加爲單獨的字符串,用逗號分隔。像這樣:

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