使用 cmd 提示符移动无人看管的文件

Jas*_*son 2 windows windows-7 file-transfer command-line windows-server-2012

我正在尝试移动超过 500GB+,大约需要一天时间。在 Windows 7 下有没有办法使用命令行移动所有这些文件,该命令行将对任何弹出对话框回答是?

例如,是否应该超时或我希望传输继续进行。

Dav*_*ave 8

是与否!!

如果超时,则不会继续,超时!即使你可以继续,继续有什么意义,因为你没有任何迹象表明复制是否成功(就哪些文件复制/没有复制而言))。

但是,要覆盖提示并执行大多数操作:

我曾经使用以下

xcopy "source" "destination" /i /e /y /z
Run Code Online (Sandbox Code Playgroud)

/z在可重启模式下通过网络复制。
/i 如果目标不存在,并且您要复制多个文件,则此开关假定目标是文件夹。
/y覆盖现有文件而不提示您。
/e 复制任何子文件夹,即使它是空的。

现在,Robocopy 是更好更快的选择,并且语法几乎相同。

robocopy "C:\sourceDirectory" "C:\backups\destinationDirectory" /e /z
Run Code Online (Sandbox Code Playgroud)

如果将其保存为 .bat 文件,则可以添加行 PAUSE。这非常有用,因为它会显示最后的结果等,如果是错误,则会显示它。

因此,将这样的内容粘贴到记事本中:

robocopy "c:\users\desktop\myDirectory" "\\MyServerName\MyBackupDestination" /i /e /y /z
pause
Run Code Online (Sandbox Code Playgroud)

并将其保存为 .bat 文件,然后运行它!

可以传递的Robocopy 参数的更多详细信息,包括重试部分,但我包括相关部分:

重试选项

/r:<N>指定失败副本的重试次数。N 的默认值为 1,000,000(一百万次重试)。

/w:<N>指定重试之间的等待时间,以秒为单位。N 的默认值为 30(等待时间 30 秒)。

/reg 将 /r 和 /w 选项中指定的值保存为注册表中的默认设置。

/tbd 指定系统将等待定义共享名称(重试错误 67)。

编辑

根据 Rik 的评论,以上内容用于复制。两者都可以用来移动(替换XCOPYMOVE和 Robocopy,它更加定制化。

/S /MOV/E /MOV将移动文件/目录,但最终可能会得到空目录...如果您想要“剪切和粘贴”之类的操作,请使用,/MOVE因为这将在完成后删除源目录和文件。