robocopy命令

robocopy:windows可靠文件复制工具。

命令语法: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),以释放低速线路上的带宽。

/SL:对照目标复制符号链接。

实例1、

复制文件

      实现效果:随时将源文件夹中的纯文本(TXT)、worl文档(DOC)还有BMP\TIF图像文件复制到目标文件夹中。

      命令:robocopy  d:/test1 e:/test2 *.doc /s  注:*前有空格/s前也有空格

扫描二维码关注公众号,回复: 2668018 查看本文章

     

参数讲解:将d:/test1文件夹下的doc复制到e:/test2下,其他文件不复制。/s是标识包括除空文件夹下的所有子目录,如果没哟则仅复制d:/test1下的文件而不包括子目录

[举一反三]

  (1)如果要将文件夹下的所有文件包括空文件夹全部复制到目标文件夹,命令为:

  robocopy d:/test1 e:/test2 /e

  /e表示复制所有子目录包括空文件夹。

  (2)如果只想复制两个层级内的文件(再下的层级里的文件则不拷贝),输入命令:

  robocopy d:/test1 e:/test2 /e /lev:2

  /lev:2表示复制的层级,比如指定层级后d:/test1/soft(二级)下的文件会被复制,而d:/test1/soft/office(三级)下的文件则不被复制。

    (3)如果要将"C:\Users\01484248\Desktop\HRLLF"下的word文件复制到"E:\精华\日志"则直接用路径代替test1及test2即可


实例二:垃圾文件不复制

  [实现效果]在备份数据时,不可避免会将类似于*.bak、*.tmp的垃圾文件也复制到目标文件夹,用Robocopy可以将我们经常碰到的垃圾文件在拷贝时就清理出家门,从而生成一个干干净净的文件夹。

  [简单命令]

  robocopy d:/work e:/back /e /xf *.tmp *.bak

  [参数讲解]

  /xf为指定不执行复制操作的文件类型,后面的文件名支持通配符。如果参数为/xd,则表示排除后面指定的文件夹。

  实例三:大文件 我不要

  [实现效果]复制的时候,为了节省时间,需要将一些大文件暂时不拷贝,等有空闲时间时,再执行复制操作不迟。

  [简单命令]

  robocopy d:/work e:/back /e /max:6000000

  [参数讲解]

  仅复制不大于6000000bytes的文件,/max:后直接接数值,数值单位为byte。如果是/min:1000,则复制不小于1000bytes的文件。两个参数可以同时使用,界定复制文件大小的范围。

  实例四:只要这一周修改的文件

  [实现效果]这一周处理了哪些文档?编辑了那些文件?将这些修改了的文档复制到一个文件夹下,再好好回味一下。本例就是要将d:/work中最近七天内新建或修改了的TXT、DOC、XLS、PPT等文档,复制到e:/look目录下。

  [简单命令]

  robocopy d:/work e:/look /s *.txt *.doc *.xls *.ppt /maxage:7

  [参数讲解]

  /maxage:表示最远修改时间的,修改时间比这个还要旧的文件将不会被复制。/maxage:后可接数字,也可以接日期,数字小于1900时表示天数,否则就得用YYYYMMDD来表示具体的日期,如/maxage:20040210表示2004年2月10日后被修改的文件才允许复制。与之相对应的参数是/minage,表示最近修改时间,比这个时间新的文件将不被复制。

  [举一反三]

  robocopy d:/work e:/look /s *.txt *.doc *.xls *.ppt /maxage:7 /minage:1

  则表示近七天内除今天外修改的文件才允许被复制。

  与修改时间相对的还有最近访问时间,/maxage指最远访问时间,比这个时间老的文件将不被复制。/minage是指最近访问时间,比这个时间新的文件将不被复制。

  实例五:我的文档排排站

  [实现效果]上例中复制时,所有的文档都会带来本身的路径信息,文档是会将其所存放的文件夹也复制过来。这给我们的翻阅查看带来很多不便,得单击多层文件夹才能看到文件,能不能将所有的文档直接复制到一个文件夹下呢?这个需要用XXCOPY来实现。

  [简单命令]

  xxcopy d:/work e:/look /s /in*.txt /in*.doc /sg /yy /da:2004-02-02 /DB:2004-02-10

  /DA:1997-01-01

  [参数讲解]

  此命令将d:/work中从2004年2月2日到2月10生成的TXT、DOC文件全部直接复制到e:/look目录下,不新建子文件夹,打开e:/look就能看到所有文件。XXCOPY和Robocopy的语法参数还是有较大差异的,表示指定文件类型时,XXCOPY会用/in*.*,表示日期时/da为在指定时间后,/db为在指定时间前,日期的表示为YYYY-MM-DD。

  另外,/sg表示复制文件到同一文件夹,/yy表示在所有要求用户应答的地方都自动认为是Yes,在执行过程中不需要用户干预。

[NextPage]

     实例六:完全克隆

 

  [实现效果]我们一般采取的复制方式默认是增量复制,即根据文件的大小、修改时间将源文件夹里的内容向目标文件夹复制,久而久之,目标文件夹里就可能存在大量源件夹里早已经删除且无用的文件和文件夹。如果要让备份完全相同,即拷贝时删除在目标文件夹里存在但源文件夹里并没有的文件。

  [简单命令]

  robcopy d:/work e:/look /mir

  [参数讲解]

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

  实例七:移动文件

  [实现效果]我们前面讲的都是复制,如果我们要将文件夹移动到目标文件夹,如何操作呢?

  [简单命令]

  robocopy d:/work e:/look /move /e

  [参数讲解]

  其中,/move表示移动。

  实例八:我只要文件夹骨架

  [实现效果]笔者的工作需要周期性地新建和整理大量的文件夹,每次的文件夹结构一样,只是文件不尽相同。如果是以前,就得一个一个简单重复去制作,而现在就不需要了。Robocopy和XXCOPY可以让你轻松实现复制文件夹结构。

  [简单命令]

  xxcopy d:/work e:/mystruct /t /yy /dl3

  [参数讲解]

  将d:/work的三层文件夹结构复制到e:/mystruct中。其中/t表示创建文件夹结构,/dl3表示复制的文件夹结构为三级,数字可以自行输入,如果没有此参数,默认建立整个文件夹结构。

  Robocopy创建文件夹相对要麻烦一些,/create参数不仅要创建结构,还要创建文件夹下所有文件的0字节文件,并非真正的结构,我们只好剑走偏锋了。

  robocopy d:/work e:/mystruct /e /lev:3 /minage:19000101

  为Robocopy指定一个不可能创建文件的时间,因为有参数/e的作用,虽然没有文件符合要求(你机器里没有早于1900年1月1日的文件),但Robocopy还是会忠实地创建文件夹,这样就达到了生成文件夹结构的目的。另外,/lev:3表示复制文件夹的层级,同样可以自行输入。

  实例九:隐藏文件我不要

  [实现效果]在默认状态下,隐藏文件是并不显示的,但在复制的过程中,它还会随着文件夹一起被复制。可不可以将这些隐藏文件排除在复制范围之外呢?

  [简单命令]

  robocopy d:/work e:/back /e /xa:h

  [参数讲解]

  Robocopy支持对属性进行操作。上面的命令将复制源文件夹中全部文件,但全部具有隐藏属性的文件将不会被复制。/xa:h,表示将具有隐藏属性的排除出复制范围,与之相对应的是/ia,表示包括只对拥有指定属性的执行操作。属性有R:只读,A:存档,S:系统,H:隐藏等几种供选择。

  [举一反三]

  (1)此外,Robocopy还有/a+、/a-等参数对文件属性进行操作,分别表示在文件被拷贝后为文件添加、去除某属性。

  robocopy d:/work e:/back /ia:rs

  表示只复制具有只读和系统属性的文件。

  (2)robocopy c:/ d:/ /-a:rsh

  表示将文件拷贝到D盘后,将拷贝生成的文件的只读、系统、隐藏属性去掉,以方便查看和修改。

  实例十:NTFS权限跟着走

  [实现效果]在使用Windows 2000、Windows XP时,在多用户使用一台电脑时或管理服务器时,经常要为文件夹指定用户访问和修改的权限(如图1,需要分区为NTFS)。不过,用一般的复制方式无法保留我们设置的权限,这在服务器备份时意味着我们得重新设置用户权限。不过,Robocopy可以让我们在复制文件的时候,将属性、用户权限、所有者都可以一并复制到目标文件夹中。


猜你喜欢

转载自blog.csdn.net/lulu3212/article/details/81001092
今日推荐