1

我有一个包含大约 50,000 个 .jpg 图像的目录。让我们将此目录称为“imageDir”,并将我尝试复制到“outputDir”的空目录称为。

当我执行:

cp imageDir/* outputDir/

通过我得到大约 30,000 张图像:

cp: cannot open `imageDir/234235.jpg' for reading: Bad address

(这并不总是发生在同一个文件上),然后复制操作将停止而不复制其余文件。我在阅读后尝试添加-R选项,即使发生错误也会继续复制:

cp -R imageDir/* outputDir/

但这并没有解决我的问题。

您一次可以成功复制的文件数量是否有某种限制?为什么我会看到此错误,我该如何解决?(如果它只发生在这里和那里的照片,只要它完成了其余的,我就可以了!)

另外:这是在 Windows 7 上使用 Cygwin。谢谢!

4

1 回答 1

3

对我来说,这似乎是 Cygwin 的问题。既然你说它是随机发生的,你可能只想在它发生时再试一次。这是一个可以做到这一点的脚本(未经测试):

#!/bin/sh
for i in imageDir/*
do
  cp $i outputDir/
  while [ $? -ne 0 ]
  do
    cp $i outputDir/
  done
done
于 2012-06-13T21:02:30.107 回答