什么原因导致移动命令返回“0 个文件”?

什么原因导致移动命令返回“0 个文件”?

我有一个批处理文件,它使用移动命令从另一台计算机提取文件:

move \\otherpc\source\directory\*.bin c:\destination\

通常情况下,如果确实没有符合模式的文件,则 move 将打印:

存在重复的文件名,或者找不到该文件。

如果找不到或无法联系到另一台计算机,它会打印:

找不到网络路径。

但是我有一个移动命令返回:

已移动 0 个文件。

笔记:

  • 有符合模式的文件
  • 目标文件夹确实存在
  • 用户对两个目录(源和目标)都具有读写权限
  • 所有文件都不是只读的。
  • 目标驱动器未满。

我还遗漏了什么?什么可能导致举动如此?

答案1

我不太清楚是什么导致了你的问题,但我知道一个可能的解决办法:robocopy

move自 DOS 时代以来就一直存在,并且没有太大变化。与 一起xcopy,它被新改进的 所取代robocopy。后者功能更丰富,在某些情况下(网络就是其中之一)错误更少。

robocopy /?

      Usage :: ROBOCOPY source destination [file [file]...] [options]

     source :: Source Directory (drive:\path or \\server\share\path).
destination :: Destination Dir  (drive:\path or \\server\share\path).
       file :: File(s) to copy  (names/wildcards: default is "*.*").

        ...

       /MOV :: MOVe files (delete from source after copying).
      /MOVE :: MOVE files AND dirs (delete from source after copying).

此命令相当于您的move命令:

robocopy \\otherpc\source\directory c:\destination *.bin /mov

如果可行,就不要担心为什么move不行。如果不行,下面是其他几个潜在问题和解决方法:

  • 源文件上有一个打开的文件句柄。

  • 源文件已损坏。

  • 源文件的名称不正确。

  • 其他电脑的操作系统和/或文件系统不完全兼容,与 Windows 不完全兼容。

  • 你总是可以先尝试copydel取得成功。我一直不明白为什么,但有时这样做有效,有时却move无效……

相关内容