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

MPe*_*ier 6 batch windows-xp

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

move \\otherpc\source\directory\*.bin c:\destination\
Run Code Online (Sandbox Code Playgroud)

通常,如果确实没有与模式匹配的文件,则将打印:

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

如果无法找到/访问另一台计算机,它将打印:

找不到网络路径。

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

移动了 0 个文件。

笔记:

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

我还缺少什么?什么会导致这样的举动?

Den*_*nis 4

我不太确定是什么导致了您的问题,但我确实知道潜在的解决方案: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).
Run Code Online (Sandbox Code Playgroud)

该命令与您的命令等效move

robocopy \\otherpc\source\directory c:\destination *.bin /mov
Run Code Online (Sandbox Code Playgroud)

如果这有效,别担心为什么move不行。如果没有,这里有一些其他潜在的问题和解决方法:

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

  • 源文件已损坏。

  • 源文件的名称不正确。

  • 另一台电脑的操作系统和/或文件系统与 Windows 不完全兼容。

  • 你总是可以先尝试copydel取得成功。我一直不明白为什么,但这有时行得通,但move不起作用......