Robocopy是微软Windows Server 2003资源工具包中众多多用途的实用程序之一(它是基于强大的拷贝程序)。没错,Robocopy的功能是拷贝文件,你也许会觉得无聊并且要翻阅下一篇文章了,且慢,让我们给这个有趣的小程序一个机会吧。Robocopy能够处理包括巨大的数据字节块在内的复制操作,并且它可以让你确定拥有像Copy和Xcopy等其它拷贝程序那样的技术规范。解释一下,例如你可以用Robocopy去拷贝某一个完整的目录树,而不仅仅是树下的三层。并且,你还可以指定Robocopy在进行网络拷贝的操作期间不会超过使用网络带宽的三分之一资源等等。  如果说Robocopy有什么缺点的话,那就是它的语法。资源工具包中的robocopy.doc文档除了用如此冗长的32个页码解释它的语法外并没有一些真正实用的内容。那么就让我们分析透彻它,并且挑选出一些关于Robocopy的基本语法。

Robocopy 基础

从Robocopy的简单表达形式可以看出,它同其它命令行拷贝工具有着细微的类同之处: robocopy <source directory> <destination directory><filenames> <options> 如果我想将C:\stuff目录的所有文件都拷贝到C:\stuffbak目录下,那么我应该键入: robocopy C:\stuff C:\stuffbak 到目前为止,还不错。看起来就像是一个Copy或者Xcopy程序的操作。但是如果我仅仅想拷贝文件名的开头包含“s”的文本文件又该怎样操作呢?在Xcopy中我应该像下面所示的那样键入: xcopy C:\stuff\s*.txt C:\stuffbak 然而,在Robocopy中那样的语法是行不通的。取而代之的是,将源目录和目的目录结合起来并增加文件类型和过滤器。对文件类型和过滤器,Robocopy用一个分开的位置来实现。那么对于上述的文本文件拷贝而言,你就应该键入: robocopy C:\stuff C:\stuffbak s*.txt

网络应用

到目前为止,我已经列举了源和目的目录的拷贝实例,但他们仅仅是基于本地文件目录的操作,Robocopy也能处理通用命名约定(UNC)名称的操作。例如: robocopy \\marksws\myfiles \\centralserver\marksfiles

这个命令将会把marksws计算机中共享目录myfiles的所有文件,通过网络拷贝到centralserver计算机中共享的marksfiles目录里面。这样的功能也许是很有用的,但是当我们加入了网络的混合应用条件后,我们就需要考虑网络可靠性方面的问题了。 任何网络拷贝的操作都会被许多潜在的网络问题中断。在许多实际应用中,网络问题会在不久由它自身清除。因此,你仅仅是需要短暂的等待后再次重复刚才的操作即可。但是,又有谁想像个婴儿似的等候在电脑边重复着一个很大网络文件的传输呢?幸运的是,当失败事件发生时,你可以通过指定一个时间数字(单位:秒)后,使得Robocopy自动再次运行拷贝操作(用/w:xx 选项),并且你也能通过一个指定的数字来设定Robocopy拷贝工作重试的次数(用/r:yy选项)。好了,我们来设定Robocopy进行网络文件拷贝的重试次数为13次,并且每次重试期间间隔30秒。你应该键入: robocopy \\marksws\myfiles \\centralserver\marksfiles /w:30 /r:13 如果你不想指定等待间隔或者重试次数,理论上Robocopy会使用默认的100万重试次数和30秒的重试间隔时间。一条简单的Robocopy命令就可以在一个非常糟糕的网络环境中甚至用一年的时间来完成拷贝操作(当然这可不是我实际想去尝试的)。 有时候,网络拷贝的工作会因为一个简单但令人烦恼的原因失败。举个例子,你可能没有正在拷贝的所有的文件的读取权限。(当你尝试去备份一个用户的profile文件或者主目录时就会遇到这种情况。)如果你需要备份一些文件而又没有NTFS的读取权限,那么就要检查你是否具有文件的备份权限——记住,读取权限和备份权限可不是一回事。如果有的话,你就可以使用Robocopy的/b或者/zb选项来备份文件。/b选项是令Robocopy使用备份权限备份,而/zb选项是令它首先尝试标准拷贝操作,失败后再用备份权限进行拷贝。

仅仅是开始

本篇文件的目的是点到为止地介绍Robocopy。你也可以看一看联机文档

Robocopy是微软Windows Server 2003资源工具包中众多多用途的实用程序之一(它是基于强大的拷贝程序的更多相关文章

  1. instsrv.exe下载和使用方法(微软Windows Server 2003 Resource Kit Tools工具中的一个)

    instsrv.exe是微软Windows Server 2003 Resource Kit Tools工具中的一个. Windows Server 2003 Resource Kit Tools是一 ...

  2. 关于微软RDLC报表打印时文字拉伸问题(Windows server 2003 sp2)

    最近我们开发的打印服务频频出现打印文字拉伸问题,客户意见络绎不绝,最为明显的是使用黑体加粗后 “2.0份” 打印出来后小数点几乎看不见了,用户很容易误认为 “ 20份” .所以问题达到了不得不停下手上 ...

  3. 低调的华丽,Windows Server 2003 ... 写给厌倦了XP,但又纠结于vista/win7花哨的童鞋(转)

    发布于2001年10月25日的windows XP 距今已近8年 时间, 微软从没有一个操作系统能像XP那样  坚挺这么久,婚姻既有7年之痒,何况用了8年XP的广大 同学,但07年发布的vista似乎 ...

  4. Windows Server 2003 SP2 R2 企业版/标准版/32与64位 CD-KEY

    微软发布Windows Server 2003 R2版的目的是希望透过它填补Windows Server 2003 SP1和Longhorn Server之间的产品发布时间间隔.所以Windows S ...

  5. atitit.Windows Server 2003 2008 2012系统的新特性 attilax 总结

    atitit.Windows Server 2003  2008  2012系统的新特性 attilax 总结 1. Windows Server 2008 新特性也可以归纳为4个方面. 1 2. 相 ...

  6. 规则“Windows Server 2003 FILESTREAM 修补程序检查” 失败。

    近期在客户环境搭建SQL故障转移群集,操作系统为SQL Server 2012R2,数据库版本为SQL Server2008 R2,在安装过程中遇到问题:没有安装Windows Server 2003 ...

  7. Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程

    准备篇 一.环境说明: 操作系统:Windows Server 2003 SP2 32位 PHP版本:php 5.3.14(我用的php 5.3.10安装版) MySQL版本:MySQL5.5.25 ...

  8. Windows Server 2003搭建邮件服务器

    Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...

  9. 远程桌面连接不上|windows server 2003 sp2 termdd.sys(转载)

    远程桌面连接不上|windows server 2003 sp2 termdd.sys.请教一个问题,为什么 Windows Server 2003 打上SP2补丁,就不能通过远程桌面连接上去了?服务 ...

随机推荐

  1. 在Linux上安装Memcached服务

    下载并安装Memcache服务器端服务器端主要是安装memcache服务器端.下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz ...

  2. spring IOC源码分析(3)

    1.IOC容器的依赖注入 Spring中,依赖注入是在用户第一次向IOC容器索要Bean时触发的(通过getBean方法). 在BeanFactory中我们看到getBean(String…)函数,它 ...

  3. Ajax简单实现文件异步上传的多种方法

    1. 认识FormData对象 FormData是Html5新加进来的一个类,可以模拟表单数据 构造函数 FormData (optional HTMLFormElement form) (可选) 解 ...

  4. 条件编译用法(#ifndef #define #endif#else)

    1. 文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西.比如你有两个C文件,这两个C文件都include了同一个头文件.而编译时,这两个C文件要一同编译成一个可运行文件,于是问题 ...

  5. python 内建函数 str() 和 repr() 的区别

    1.内建函数str()和repr() 或反引号操作符(``)可以方便地以字符串的方式获取对象的内容.类型.数值属性等信息. 2.str()函数得到的字符串可读性好(故被print调用) 3.repr( ...

  6. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  7. hdu 3717

    思路:二分答案,然后模拟消灭石头的过程: 如果单纯的暴力模拟的话,肯定会T的: 所以要用到一定的技巧来维护: 在网上看到大神们用O(n)的复杂度来优化,真心orz: 原理是这样的:用一个变量sum_2 ...

  8. Python图形图像处理库的介绍之Image模块

    http://onlypython.group.iteye.com/group/wiki/1372-python-graphics-image-processing-library-introduce ...

  9. MYSQL数据库根据data文件中的.frm和ibd文件恢复单表数据

    数据库误操作,把表的字段删除了,关键是被删除的字段的数据很重要,现在想要恢复数据,下面说说是怎么操作的. 数据库只剩.frm和.ibd文件了,按照网上的做法分如下两步来进行:一.找回表结构,二.找回数 ...

  10. 控件动态产生器(使用RegisterClasses提前进行注册)

    代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- ...