我正在尝试移动超过 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 的评论,以上内容仅供复制。两个都可以用来移动(替换XCOPY
为MOVE
Robocopy,它更加定制化。
/S /MOV
或者/E /MOV
将移动文件/目录,但最终可能会得到空目录...如果您想要类似“剪切和粘贴”的操作,那么请使用,/MOVE
因为这将在完成后删除源目录和文件。
答案2
我假设,虽然你说的是“命令行”,但你愿意接受“在后台自动运行”。让我介绍一下BitTorrent 同步。它适用于任意两个点之间,如果遇到超时则继续并且是易于安装。
- 在源上安装,选择文件夹,复制密钥。
- 安装在目的地,选择文件夹,粘贴密钥。
- 观察你的文件复制情况。
- 卸载(或停止源计算机上的文件夹同步),然后删除源文件。
唯一的缺点是,如果你所在的地方封锁了 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