Robocopy Python脚本将整个命令作为源运行
我在我的脚本里有这么一行:
subprocess.call([r"robocopy", "\\\\stockholm\exam$\ \\\\stockholm\exam_temp$\ /e /move"])
但是当我运行它的时候,Robocopy认为整行都是源地址,没有目标地址,所以就失败了。有人能告诉我我的语法哪里出错了吗?如果我在CMD里运行同样的这一行(去掉多余的\'等),它就能正常工作!
非常感谢,
克里斯。
3 个回答
0
你可以传递一个列表,比如:
command_to_pass = ["robocopy", src, dst, extra_args]
call(command_to_pass)
0
试着把参数作为列表传递,比如这样。
subprocess.call([r"robocopy", "\\\\stockholm\exam$\","\\\\stockholm\exam_temp$\","/e","/move"])
我不太确定多出来的反斜杠是怎么回事。
1
你需要对反斜杠(\)进行转义,或者使用原始字符串。
subprocess.call([r"robocopy", r"\\stockholm\exam$\ \\stockholm\exam_temp$\ /e /move"])