使用 cmd 提示符无人值守地移动文件

使用 cmd 提示符无人值守地移动文件

我正在尝试移动超过 500GB 的文件,大约需要一天时间。在 Windows 7 下,有没有一种方法可以使用命令行移动所有这些文件,并且对任何弹出对话框都回答“是”?

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

答案1

是也不是!!

如果超时,则不会继续,超时了!即使您可以继续,继续有什么意义呢?因为您无法知道复制是否成功(就复制了/未复制哪些文件而言)。

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

我曾经使用过以下

xcopy "source" "destination" /i /e /y /z

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

如今,Robocopy 是更好、更快的选择,并且语法几乎相同。

robocopy "C:\sourceDirectory" "C:\backups\destinationDirectory" /e /z

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

因此,将如下内容粘贴到记事本中:

robocopy "c:\users\desktop\myDirectory" "\\MyServerName\MyBackupDestination" /i /e /y /z
pause

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

更多详情Robocopy 参数可以通过,包括重试部分,但我包括了相关部分:

重试选项

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

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

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

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

编辑

根据 Rik 的评论,以上内容仅供复制。两个都可以用来移动(替换XCOPYMOVERobocopy,它更加定制化。

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

答案2

我假设,虽然你说的是“命令行”,但你愿意接受“在后台自动运行”。让我介绍一下BitTorrent 同步。它适用于任意两个点之间,如果遇到超时则继续并且是易于安装

  1. 在源上安装,选择文件夹,复制密钥。
  2. 安装在目的地,选择文件夹,粘贴密钥。
  3. 观察你的文件复制情况。
  4. 卸载(或停止源计算机上的文件夹同步),然后删除源文件。

唯一的缺点是,如果你所在的地方封锁了 BitTorrent,那么这个方法就不起作用了。在这种情况下,我会采纳 Gerbenny 的建议并设置 rsync。

答案3

只是为了扩展我自己的问题:

感谢 Dave 的见解,我还找到了以下选项:)

机械战警 RoboCop

在此处输入图片描述

http://sourceforge.net/projects/robocoprobocopy/

RoboCop RoboCopy 是 Robocopy.exe (Win NT Resource Kit) 的 GUI 皮肤和脚本生成器。RoboCop RoboCopy 不同于任何其他可用的 robocopy 脚本生成器。

是什么让它与众不同?简而言之,就是能够监控 robocopy 作业的进度。RoboCop RoboCopy 允许实时监控其正在运行的所有 robocopy 作业,其中包括:- 当前速度(MB)、- 完成时间、以及 - 实时进度条指示。

更好的 Robocopy GUI

在此处输入图片描述

http://betterrobocopygui.codeplex.com/

使用属性网格显示所有可选参数。提供文本编辑器直接编辑命令行,文本中选项的任何更改都可能反映回属性网格,反之亦然。在属性网格或文本编辑器中突出显示选项时显示即时提示。无需打开 Windows 命令提示符即可测试运行 robocopy 命令行。robocopy 的一些可选参数是相互排斥或相互包含的,而有些则是其他参数的组合。程序可能会正确处理这些情况。

答案4

使用复制命令,您要查找的是/Y 开关。

不过,我建议采用更强大的解决方案,例如适用于 Windows 的 rsync

相关内容