Robocopy错误代码6''句柄无效'

时间:2009-12-18 15:25:21

标签: python subprocess robocopy

我编写了一个python脚本,它使用子进程调用robocopy来同步远程主机的日志文件。

像这样:

program = 'Robocopy'
options = ['/S']
args.append(program)
args.append(options)
args.append('\\\\%s\%s' % (hostname, source_path))
args.append(local_path)
proc = subprocess.Popen(args=args, shell=True, stdout=cmd_log, stderr=error_log) 

其中source_path是远程主机上的路径,local_path是本地主机上的路径(两个UNC路径)。 代码通常在守护进程中运行,并且每隔几个小时就会启动一次。也可以直接在命令提示符下运行此代码。似乎有时当它在守护进程中运行时,我从Robocopy中得到错误:

错误代码6:'句柄无效'

但是当我在命令提示符下运行它时,我没有错误。根据我在网络搜索中发现的内容,这可能与正在传输的文件上已打开的文件句柄有关。有没有人有关于此错误的更多信息以及避免它的方法?

1 个答案:

答案 0 :(得分:1)

谷歌搜索"robocopy handle is invalid"建议您通过使用“备份模式”的/ b选项找到成功。

即使这不起作用,我建议添加代码以在复制(或记录)文件名时输出文件名,一旦确定了特定的失败文件,您也可能会意识到问题是。