Robocopy默默地丢失文件

我使用Robocopy将数据从服务器的硬盘同步到外部磁盘作为备份。 这是一个非常简单的解决scheme,但几乎是最好的/最简单的解决scheme – 我们使用两个外部磁盘并将它们旋转到非现场。

无论如何,这是我正在使用的脚本(带有注释)。 它工作的很好,很快,几乎100%完成 – 但是,它的行为很奇怪,只有几个文件(注意公司名称已经改变了path,以保护无辜):

@ECHO OFF set DATESTAMP=%DATE:~10,4%/%DATE:~4,2%/%DATE:~7,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2% SET prefix="E:\backup_log-" SET source_dir="M:\Company Names Data\Working Folder\_ADMIN_BACKUP_FILES\COMPA AANY Business Folder_Backup_040407\COMPANY_sales order register\BACKUP CLIENT FOLDERS & CURRENT JOBS pre 270404\CLIENT SALES ORDER REGISTER" SET dest_dir="E:\dest" SET log_fname=%prefix%%date:~-4,4%%date:~-10,2%%date:~-7,2%.log SET what_to_copy=/COPY:DAT /MIR SET options=/R:0 /W:0 /LOG+:%log_fname% /NFL /NDL ROBOCOPY %source_dir% %dest_dir% %what_to_copy% %options% set DATESTAMP=%DATE:~10,4%/%DATE:~4,2%/%DATE:~7,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2% cscript msg.vbs "Backup completed at %DATESTAMP% - Logs can be found on the E: drive." :END 

通常情况下,源代码只是M:\ Comapany名称数据\,但我稍微改变了脚本以testing问题。

源中的以下文件不会复制到dest:

 Someclient\SONICP~1.DOC Someclient\SONICP~2.DOC Someclient\SONICP~3.DOC 

但是,名称相同的目录中的文件:

TIMESH〜1.XLS TIMESH〜2.XLS

被复制。 我可以打开没有任何问题的复制文件,而且当我运行robocopy时它们肯定不会打开,所以这不是locking问题。 Robocopy以pipe理员身份运行,所以不是权限问题。

没有跟踪这些文件甚至试图被复制,因为没有错误输出在日志或我的命令提示符。

有没有人有什么build议,这可能是什么? 硬盘被破坏?

干杯,约翰。

您确定执行robocopying的帐户可以读取这些文件吗? 也许有人编辑了几个文件的权限…

编辑:重新阅读post,并意识到你已经testing的权限。

如果您只想testing这些文件,为什么不尝试用GUI手动复制它们呢? 如果这样做,那就运行这一行:

 robocopy "M:\Company Names Data\Working Folder\_ADMIN_BACKUP_FILES\COMPA AANY Business Folder_Backup_040407\COMPANY_sales order register\BACKUP CLIENT FOLDERS & CURRENT JOBS pre 270404\CLIENT SALES ORDER REGISTER\<filename_that_isn't_working>" E:\dest 

从最基本的操作开始,重新添加,直到遇到问题。

您可能会碰到最大path长度,其中包括终止文件名称,只有260个字符。

我之前遇到过这样的情况,那就是具有深层目录的Subversion版本库,并且在UNIX / Linux系统上工作得很好,但是由于某些path太长,Windows系统上的用户无法执行完整的检出。

我会尝试擦拭那个特定的目录,然后看看文件是否被正确写入。

在外部驱动器上运行chkdsk。

目标上的文件系统是什么,并且是与源文件系统相同的types?

也许你可以尝试使用/ Z选项

/ Z:复制文件在可重启模式(幸存networking故障)。

你说你的日志不包含任何有价值的信息,但是你问robocopy不要logging文件名和目录名:/ NFL / NDL

你真的应该把日志logging选项,以最大限度地发挥,直到你find你的问题。

/ x报告所有额外的文件,不只是那些被选中的文件
/ v生成详细输出,并显示所有跳过的文件
/ fp包含输出中文件的完整path名称
/ np禁用进度条

要解决您的问题,您可以尝试:
/ zb使用重启模式。 如果访问被拒绝,该选项使用备份模式

如果有任何失败,请尝试(我不记得这些选项做什么): /是包含相同的文件
/它包括“调整”的文件