【问题标题】:Could not find destination file during file copy文件复制期间找不到目标文件
【发布时间】:2016-04-07 22:41:04
【问题描述】:

我们在其他地方看到过这个问题,它与源文件相关,但与目标文件无关。

我们正在尝试将一个 70MB 的文件从源服务器上的本地路径复制到目标服务器上的共享位置。整个过程正在迭代主线程上的许多文件,并且在我们看到问题之前已经成功复制了其他文件。但是,我们偶尔会看到此错误:

Could not find file 'DestinationFileFullPath'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)

我需要强调这一点:错误是指目标文件名,而不是源文件名。我们确信我们没有混淆变量。这是代码:

ConsoleLog(String.Format("Copying file from {0} to {1}", source, dest));
File.Copy(source, dest);

有人知道是什么原因造成的吗?

【问题讨论】:

  • 目标路径是否存在?
  • 您是否缺少文件扩展名?
  • 您可以先检查目标是否存在,然后再尝试复制。
  • 您传递的是文件路径的名称变量 (DestinationFileFullPath),而不是文件路径?
  • 我会检查你的网络。可能是因为包丢失,服务器有时不可用?

标签: c# .net file-copying


【解决方案1】:

任何可能最终出现在此线程上的人的可能性:

如果 'source' 和 'destination' 参数相同,您将在 File.Move 和 File.Copy 中收到此错误。

【讨论】:

    【解决方案2】:

    如果目标文件名(不包括任何扩展名)是保留的 DOS 名称:CON、PRN、AUX、NUL、COM1-9、LPT1-9,您也可以看到此消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      • 2015-10-11
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多