使用 WindowsXP-Pro,我尝试将一个较大的文件(~28 MB)复制到 SD 卡上。
复制即将完成,但失败了,并返回以下错误:
Cannot copy <filename> file: Invalid MS-DOS function
卡上有足够的空间,超过 120 MB。我可以将许多其他较小的文件复制到卡上,因此我认为介质没有故障。
我还遗漏了什么吗?
答案1
尝试压缩文件然后复制。要查看文件系统或卡是否损坏,请备份数据,重新格式化卡,然后重试。
顺便问一下,你能把该文件复制到硬盘上的其他位置吗?因为如果你不能,那么该文件就已损坏(或者不太可能是文件系统的一部分)。
答案2
可能是卡或硬盘有问题,导致无法找到较小的文件。您是否对它们运行过磁盘扫描程序?
右键单击 | 属性 | 工具 | 错误检查
另外,文件名中是否有保留字符或其他不寻常的字符?尝试将其重命名为 a.dat 或无害的文件名,看看是否有帮助。
[编辑] 好的,现在您已经尝试过了,还有其他几种可能性:
- 它可能是 FAT16,并且根目录中只能有 512 个文件(如果使用长度超过 8.3 的文件名,则文件数量会更少)。
- 很明显,但是你能把这个文件复制到其他地方吗?例如 USB 闪存驱动器
- 下一步是从 SD 卡复制所有其他内容,然后尝试再次复制大文件。
- 如果失败,请重新格式化卡并重新启动。
答案3
除了可能建议的文件系统问题之外,我还在 SD 卡文件系统被压缩时看到了这种情况。复制不可压缩的文件可能会导致复制失败,尽管报告的可用空间大于正在复制的文件。
答案4
好的,我想我已经把一切都解决了。
我认为该卡已经碎片化了,以至于 Windows 无法将文件复制到该卡上,除非将其分解成太多碎片。
- 磁盘碎片整理程序的分析并未显示“需要”进行碎片整理,但存在许多小间隙,而较大的间隙并不多。我知道对 SD 卡和 USB 驱动器进行碎片整理被认为是有害的,所以...
- 我移走了另一个大文件,然后移回了原始文件,这样就成功了。但是再次移回第一个大文件却没有成功。所以...
- 我将整个卡上的内容移到 C 盘,然后再移回去(实际上是碎片整理,但不需要磁盘碎片整理程序会进行的所有写入操作)。这样我就可以将所有文件移到 SD 卡上。我甚至可以填满磁盘的其余部分,而不会再次出现该错误。