我有一个 USB 连接的硬盘,其中许多(1000 个)文件无法读取。问题是,这些文件似乎随机分布在驱动器上,驱动器需要很长时间(超过一个小时)才能放弃尝试读取每个文件。因此,简单的复制过程是不可能的。
我想到两种可能的方式来解决这个问题。我不知道在实践中如何做到这一点,如果可能的话。
我的第一个想法是尽量缩短放弃复制文件所需的时间,例如 10 秒。但是我还没有找到任何方法来实现这一点,也许这需要操作系统或硬件级别的更改?我尝试过终止复制进程,但除了拔掉驱动器外,似乎什么都行不通。(在有人建议之前:“robocopy /w:10”不能解决这个问题。)
我的第二个想法是记录正在尝试的每个文件,然后当文件复制卡住时,我可以拔下驱动器,然后重新启动该过程,通过跳过任何以前已记录的文件来跳过有问题的文件。由于我们讨论的是 1000 个文件,所以我必须能够并行运行多个进程。
有人能帮我解决我的问题吗?告诉我如何执行任一选项,或者建议其他方法?
谢谢您的任何建议!
答案1
您尝试过robocopy /w:10
,但我猜您在这里需要的是使用robocopy /r:1
(或稍大一些的数字,以防您发现这有助于保存更多文件)。
Robocopy 文档表示,对同一文件的默认重试次数为一百万次,/r:1
将其减少为一次。注意,这也/w
不会改变 robocopy 放弃之前的时间,它控制两次重试之间的时间。