随心所欲玩复制 详解robocopy (二)

简介:

随心所欲玩复制 详解robocopy (一) 一文中,我通过几个场景介绍了一些常用的命令。这一篇文章中,我将介绍更多的实用技巧。

复制指定修改时间的文件

在日常使用中,免不了要通过文件修改时间筛选出最近的文件。如何实现此功能?通过下列命令:

 

robocopy D:\Document H:\Project /maxage:5 

此条命令的意思为将D:Document下修改时间在5天内的文件复制到H:Project下。

参数"/maxage"表示距离今天最远的修改时间,凡是修改时间比这个限制还要早的那些文件都不会被复制。参数"/maxage"可以接受的字符有数字,或者是日期,表示天数时数字要小于1900,表示日期时需要使用"YYYYMMDD"格式。另外一个与之相对应的参数是"/minage",表示距离今天最近的修改时间限制,比这个时间新的文件将不被复制。

因此,我们在实用环境下可以利用"/maxage"和"/minage"来共同限制时间范围。如下例:

 

robocopy D:\Document H:\Project /maxage:5 /minage:1

此命令则将欲复制的文件范围限定在修改时间在除今天意外的5天以内(是不是有点绕口……我实在描述不清楚了,各位看官请意会吧)。

完全拷贝

在Windows默认的复制粘贴下,如果已存在一个同名文件夹,系统会进行增量复制,而不会进行文件夹的替换操作。如果我们需要使目标文件夹与源文件夹完全相同,也就是说在复制的同时也删除在目标文件夹里存在但源文件夹里并没有的文件。则需要使用以下命令:

 

robocopy D:\Document H:\Project /mir

参数"/mir"的作用等同于"/purge /e","/purge"表示清理目标文件夹内有而源文件夹里没有的文件和文件夹。通过这个命令,能保证源文件夹和目标文件夹在结构与内容上完全相同。此参数对于创建镜像备份时是非常有用的。

移动文件

需要移动文件夹,也就是剪贴,需要使用另外两个参数,先看下例:

 

robocopy D:\Document H:\Project /move /e

参数"/move"意为移动,而"/e"则表示复制所有子目录包括空文件夹(这一点上篇文章有讲)。

只拷贝文档结构

有时我们只需要拷贝一个多级目录的目录树,或者说只需要它的结构,而不需要它的内容,参考如下命令:

 

robocopy c:\windows /s /create c:\empty\windows

这样,我们就创建了整个Windows文件夹的目录结构。其中,使用了"/creat"参数,此参数作用即为生成空的文件结构。

还有另外一种剑走偏锋的实现方法:

 

robocopy c:\windows c:\empty\windows /e /lev:5 /minage:19000101

这是使用了普通的复制方法,指定5层目录,但是却限制了一个机器上不可能有的一个文件修改日期。这样,robocopy就只会拷贝走目录结构,因无文件符合其修改时间限制,因而不会有文件被复制。

不复制隐藏文件

个别情况下文件夹中存在隐私内容,在复制的同时又希望被ignore,因为robocopy支持属性操作,所以只需调用相关参数即可。见下例:

 

robocopy D:\Photo H:\Photo /e /xa:h

参数"/xa:h"表示将具有隐藏属性的排除出欲复制的范围,与之相对应的是参数"/ia",表示只复制包括指定属性的文件。

可用的属性有;R只读、A存档、S系统、H隐藏等。

 

robocopy C:\windows F:\WindowsSysFile /ia:rs

此命令只会将具有只读属性的系统文件复制,而不会操作其他文件。

上文说道,robocopy具有对属性操作的能力,因此,在复制的同时也可以指定文件属性。

使用参数"/A+"与"/A-",功能分别是将给定的属性添加到复制文件,以及,从复制文件中删除给定的属性。

例如:

 

robocopy C:\windows F:\WindowsSysFile /e /A-:rsh

这样,不仅将所有文件进行了复制,也删除了诸如只读、系统、隐藏等属性,方便了我们在复制之后对文件进行操作和编辑等。

 

     本文转自melvillo 51CTO博客,原文链接:http://blog.51cto.com/marui/297397,如需转载请自行联系原作者







相关文章
|
10月前
|
NoSQL Java Linux
Linux常用命令(文件目录操作、拷贝移动、打包压缩、文本编辑、查找)
Linux常用命令(文件目录操作、拷贝移动、打包压缩、文本编辑、查找)
|
移动开发 机器学习/深度学习 安全
|
1天前
|
存储 安全 文件存储
剪切未粘贴成功的文件不见了怎么找回来?
你正在移动文件,使用“剪切”命令准备粘贴到新位置,却发现粘贴操作失败,文件却消失了。这个时候,你可能会觉得非常沮丧,因为你以为文件已经消失得无影无踪。然而,不必过于担心,这种情况其实是可以恢复的。在本文中,我们将介绍几种有效的方式,帮助你找回那些“失踪”的文件,让它们重回你的电脑。
|
3月前
|
存储 安全 Windows
移动硬盘删掉的文件怎么恢复?试试这5个方法
移动硬盘是常见的数据存储工具,因容量很大、携带方便,很多人都愿意选择移动硬盘作为备份数据或存储日常数据的工具。不过,有时候,我们在使用移动硬盘的时候难免会误操作,比如不小心删除了重要文件。这时候,很多人会问,移动硬盘上误删掉的文件还能恢复吗?今天小编就为大家介绍一下如何快速的恢复移动硬盘丢失的文件。
|
5月前
|
存储 安全 Windows
电脑桌面文件不见了怎么恢复?8个方法帮你解决问题
电脑桌面文件突然不见了凭空消失了怎么恢复?电脑桌面文件日常使用电脑时,很多用户喜欢将重要文件、快捷方式存放在桌面上,以方便快速访问。然而,有时我们会突然发现桌面上的文件不见了。桌面文件消失可能有多种原因,例如误删除、系统更新、设置变更等。今天给大家介绍一些桌面文件丢失的常见的原因以及如何找回丢失的文件。
clipboardjs复制到粘贴板
clipboardjs复制到粘贴板
74 0
BAT 批处理命令 - 文件批量复制、克隆功能实例演示
BAT 批处理命令 - 文件批量复制、克隆功能实例演示
645 0
BAT 批处理命令 - 文件批量复制、克隆功能实例演示
|
程序员 Linux Shell
教你三招快速文件批量重命名方法
教你三招快速文件批量重命名方法
1344 0
|
缓存 开发工具 git
Git命令集十二——切换分支与还原文件
Git命令集十二——切换分支与还原文件
158 0
VBS自编写脚本。(实现批量修改文件名且在执行前,备份原有文件夹中的文件)
'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.
1363 0