搜索
bottom↓
回复: 11

Win7的dos命令Robocopy 这几个要求如何实现?

[复制链接]

出16170入6148汤圆

发表于 2023-1-30 23:43:00 来自手机 | 显示全部楼层 |阅读模式
1。如果“源文件” 比“目标文件” size 大,拷贝。否则不拷贝。

2。如果“源文件”不存在,删除“目标文件”。
     (也就是说,我删除了源文件,同步后,其它备份机器的文件也删除)。
       是 /PURGE 参数吗?(删除源中不再存在的目标文件/目录)后记:已经确定

3。如果“源文件” 比“目标文件” 新,拷贝。否则不拷贝。
     是 /XO 参数吗? (排除较旧的文件)后记:已经确定

出16170入6148汤圆

 楼主| 发表于 2023-1-30 23:47:08 来自手机 | 显示全部楼层
https://answers.microsoft.com/zh ... 2-b2bd-64f6031b768a

请教robocopy如何实现只更新大小不同的文件,不去管文件修改时间?

答案

Felix Zhuang回复日期 2010/09/10
举报滥用情况
你好,

很遗憾,RoboCopy命令不支持你所期望的实现方式。

RoboCopy命令的参数详细说明,供你参考:

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

  源:: 源目录(驱动器:\路径或\服务器\共享\路径)。

  目录:: 目标目录(驱动器:\路径或\服务器\共享\路径)。

  文件:: 要复制的文件(名称/通配符: 默认为 "*.*")。

  ::

  :: 复制选项:

  ::

  /S :: 复制子目录,但不复制空的子目录。

  /E :: 复制子目录,包括空的子目录。

  /LEV:n :: 仅复制源目录树的前 n 层。

  /Z :: 在可重新启动模式下复制文件。

  /B :: 在备份模式下复制文件。

  /ZB :: 使用可重新启动模式;如果拒绝访问,请使用备份模式。

  /EFSRAW :: 在 EFS RAW 模式下复制所有加密的文件。

  /COPY:复制标记:: 要复制的文件内容(默认为/COPY:DAT)。

  (复制标记: D=数据,A=属性,T=时间戳)。

  (S=安全=NTFS ACL,O=所有者信息,U=审核信息)。

  /DCOPY:T :: 复制目录时间戳。

  /SEC :: 复制具有安全性的文件(等同于/COPY:DATS)。

  /COPYALL :: 复制所有文件信息(等同于/COPY:DATSOU)。

  /NOCOPY :: 不复制任何文件信息(与/PURGE 一起使用生效)。

  /SECFIX :: 修复所有文件的文件安全性,即使是跳过的文件。

  /TIMFIX :: 修复所有文件的文件时间,即使是跳过的文件。

  /PURGE :: 删除源中不再存在的目标文件/目录。

  /MIR :: 镜像目录树(等同于/E 和/PURGE)。

  /MOV :: 移动文件(复制后从源中删除)。

  /MOVE :: 移动文件和目录(复制后从源中删除)。

  /A+:[RASHCNET] :: 将给定的属性添加到复制文件。

  /A-:[RASHCNET] :: 从复制文件中删除给定的属性。

  /CREATE :: 仅创建目录树和长度为零的文件。

  /FAT :: 仅使用 8.3 FAT 文件名创建目标文件。

  /256 :: 关闭超长路径(> 256 字符)支持。

  /MON:n :: 监视源;发现多于 n 个更改时再次运行。

  /MOT:m :: 监视源;如果更改,在 m 分钟时间内再次运行。

  /RH:hhmm-hhmm :: 运行小时数 - 可以启动新副本的时间。

  /PF :: 以每个文件(而不是每个步骤)为基础检查运行小时数。

  /IPG:n :: 程序包间的间距(ms),以释放低速线路上的带宽。

  ::

  :: 文件选择选项:

  ::

  /A :: 仅复制具有存档属性集的文件。

  /M :: 仅复制具有存档属性的文件并重置存档属性。

  /IA:[RASHCNETO] :: 仅包含具有任意给定属性集的文件。

  /XA:[RASHCNETO] :: 排除具有任意给定属性集的文件。

  /XF 文件[文件]... :: 排除与给定名称/路径/通配符匹配的文件。

  /XD 目录[目录]... :: 排除与给定名称/路径匹配的目录。

  /XC :: 排除已更改的文件。

  /XN :: 排除较新的文件。

  /XO :: 排除较旧的文件。

  /XX :: 排除多余的文件和目录。

  /XL :: 排除孤立的文件和目录。

  /IS :: 包含相同文件。

  /IT :: 包含已调整的文件。

  /MAX:n :: 最大的文件大小 - 排除大于 n 字节的文件。

  /MIN:n :: 最小的文件大小 - 排除小于 n 字节的文件。

  /MAXAGE:n :: 最长的文件存在时间 - 排除早于 n 天/日期的文件。

  /MINAGE:n :: 最短的文件存在时间 - 排除晚于 n 天/日期的文件。

  /MAXLAD:n :: 最大的最后访问日期 - 排除自 n 以来未使用的文件。

  /MINLAD:n :: 最小的最后访问日期 - 排除自 n 以来使用的文件。

  (If n < 1900 then n = n days, else n = YYYYMMDD date)。

  /XJ :: 排除接合点。(默认情况下通常包括)。

  /FFT :: 假设 FAT 文件时间(2 秒粒度)。

  /DST :: 弥补 1 小时的 DST 时间差。

  /XJD :: 排除目录的接合点。

  /XJF :: 排除文件的接合点。

  ::

  :: 重试选项:

  ::

  /R:n :: 失败副本的重试次数: 默认为 1 百万。

  /W:n :: 两次重试间的等待时间: 默认为 30 秒。

  /REG :: 将注册表中的 /R:n 和 /W:n 保存为默认设置。

  /TBD :: 等待定义共享名称(重试错误 67)。

  ::

  :: 日志记录选项:

  ::

  /L :: 仅列出 - 不复制、添加时间戳或删除任何文件。

  /X :: 报告所有多余的文件,而不只是选中的文件。

  /V :: 生成详细输出,同时显示跳过的文件。

  /TS :: 在输出中包含源文件的时间戳。

  /FP :: 在输出中包含文件的完整路径名称。

  /BYTES :: 以字节打印大小。

  /NS :: 无大小 - 不记录文件大小。

  /NC :: 无类别 - 不记录文件类别。

  /NFL :: 无文件列表 - 不记录文件名。

  /NDL :: 无目录列表 - 不记录目录名称。

  /NP :: 无进度 - 不显示已复制的百分比。

  /ETA :: 显示复制文件的预期到达时间。

  /LOG:文件:: 将状态输出到日志文件(覆盖现有日志)。

  /LOG+:文件:: 将状态输出到日志文件(附加到现有日志中)。

  /UNILOG:文件:: 以 UNICODE 方式将状态输出到日志文件(覆盖现有日志)。

  /UNILOG+:文件:: 以 UNICODE 方式将状态输出到日志文件(附加到现有日志中)。

  /TEE :: 输出到控制台窗口和日志文件。

  /NJH :: 没有作业标头。

  /NJS :: 没有作业摘要。

  /UNICODE :: 以 UNICODE 方式输出状态。

  ::

  :: 作业选项 :

  ::

  /JOB:作业名称:: 从命名的作业文件中提取参数。

  /SAVE:作业名称:: 将参数保存到命名的作业文件

  /QUIT :: 处理命令行后退出(以查看参数)。

  /NOSD :: 未指定源目录。

  /NODD :: 未指定目标目录。

  /IF :: 包含以下文件。

我们秉承客户至上的服务理念。如果您对我在论坛中的服务有任何表扬、批评或投诉,请通过电子邮件(*** 因为隐私原因删除电子邮件地址 ***)告诉我们的经理,以便我们提供更优质的服务。Microsoft Answers欢迎您!

敬请注意:
1、提交表扬和投诉时,请您在邮件中标明原帖URL地址,以便我们进行追踪。
2、此Email并非技术支持信箱。如果您有技术类问题,请通过论坛发帖的方式提出,会有工程师为您提供帮助。
3、我们在论坛中的回复时间一般在一个工作日,如果您的问题比较紧急,我们建议您选用微软电话技术支持服务,800-820-3800/ 400-820-3800/021-96081318。
谢谢!

出16170入6148汤圆

 楼主| 发表于 2023-1-31 00:06:48 来自手机 | 显示全部楼层
armok. 发表于 2023-1-30 23:47
https://answers.microsoft.com/zh-hans/windows/forum/all/%E8%AF%B7%E6%95%99robocopy%E5%A6%82%E4%BD%95 ...
(引用自2楼)


我找到了折中的方法 /XO /XN 排除新,排除旧。

也就是说,只要存在就不copy。

避免了不同服务器因为时间不同而重复备份。



但无法根据文件大小来判断是否覆盖,始终是一个遗憾。

出0入984汤圆

发表于 2023-1-31 03:30:43 | 显示全部楼层
本帖最后由 Himem 于 2023-1-31 03:32 编辑

似乎要写bat/ps 脚本实现了

出0入0汤圆

发表于 2023-1-31 08:40:35 | 显示全部楼层
备份没见过比群晖ABB更牛B的,所以我即使找旧机也要装黑群晖。(Dell T130自己改装机箱)

出16170入6148汤圆

 楼主| 发表于 2023-2-1 11:03:53 来自手机 | 显示全部楼层
tsb0574 发表于 2023-1-31 08:40
备份没见过比群晖ABB更牛B的,所以我即使找旧机也要装黑群晖。(Dell T130自己改装机箱) ...
(引用自5楼)

我现在使用robocopy(局域网内部)。

远程使用rsync。


没有感觉有什么不好啊。

出16170入6148汤圆

 楼主| 发表于 2023-2-1 11:05:31 来自手机 | 显示全部楼层
Himem 发表于 2023-1-31 03:30
似乎要写bat/ps 脚本实现了
(引用自4楼)

难吗? 容易的话谁帮忙弄一下?

就是拷贝的时候,不看文件时间,只看文件大小。如果源文件更大,就拷贝。否则不拷贝。

要求使用robocopy。

出10入284汤圆

发表于 2023-2-1 17:41:25 来自手机 | 显示全部楼层
并不是文件大就代表新,小心翻车。当然电影这个逻辑似乎没问题

出16170入6148汤圆

 楼主| 发表于 2023-2-1 17:59:55 来自手机 | 显示全部楼层
brother_yan 发表于 2023-2-1 17:41
并不是文件大就代表新,小心翻车。当然电影这个逻辑似乎没问题
(引用自8楼)

当然你说的对。我只是为了防止备份不完整,有些0kb的文件虽然比较新,但其实需要覆盖的。

出0入984汤圆

发表于 2023-2-1 22:31:17 | 显示全部楼层
本帖最后由 Himem 于 2023-2-1 22:33 编辑
armok. 发表于 2023-2-1 11:05
难吗? 容易的话谁帮忙弄一下?

就是拷贝的时候,不看文件时间,只看文件大小。如果源文件更大,就拷贝 ...
(引用自7楼)


倒是不太复杂,
但原则上脚本逻辑是先扫描出符合条件的 待要拷贝文件列表,然后逐个复制

robocopy似乎没有按列表内容复制的参数,只能是拷一个文件运行一次命令,
所以即使robocopy做复制核心这时不一定会有优势

出16170入6148汤圆

 楼主| 发表于 2023-2-1 22:37:51 来自手机 | 显示全部楼层
Himem 发表于 2023-2-1 22:31
倒是不太复杂,
但原则上脚本逻辑是先扫描出符合条件的 待要拷贝文件列表,然后逐个复制


(引用自10楼)


我的文件有10T大小,  文件数目可能几十万甚至更多。

出16170入6148汤圆

 楼主| 发表于 2023-2-2 01:42:20 来自手机 | 显示全部楼层
armok. 发表于 2023-2-1 22:37
我的文件有10T大小,  文件数目可能几十万甚至更多。
(引用自11楼)

这个界面,运算了一个多小时,才开始拷贝数据。可见数据量之大。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 23:00

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表