如果我们在构建服务器(CCNET)上成功构建,则所有ASP.NET网站文件都将复制到虚拟目录(%output_dir%),以便非开发人员可以查看/测试最新版本的网站.在构建结束时,执行以下bat文件.
rmdir /s /q "%output_dir%"
mkdir "%output_dir%"
xcopy "%source_dir%*"  "%output_dir%" /e /c /i /q /-y

问题是我发现复制速度很慢,并且想知道Windows 2008中是否有比xcopy更快的复制命令?源和目标位于同一驱动器上.以下是我们在复制时使用的参数.

/e = copies directories and sub directories including empty ones.
/c = continues copying even if there are errors
/i = if destination does not exist destination is directory
/q = don't display filenames
/-y = confirm overwrite
仅从性能角度来看,xcopy或 robocopy将为您提供类似的结果.我在Windows Vista 64位SP2盒子上进行了几次测试,以进行一些比较.所有副本均在内部7200 RPM Sata II磁盘和外部USB 2.0驱动器之间执行,或者在指示的同一内部驱动器上执行.没有进行特殊设置(如果无效/验证测试,请自己决定),只需将命令输入批处理文件即可执行. PowerShell用于捕获开始和停止时间.经过几次传球后,我玩的工具的平均值是:

文件:732,909,568字节(698 MB),1 ISO文件复制到同一内部磁盘上的不同目录.

copy      6 secs (ex. copy G:\folder1\* G:\folder2\)
xcopy     6 secs (ex. xcopy G:\folder1 G:\folder2 /I /E /Y /R)
robocopy  6 secs (ex. robocopy G:\folder1\ G:\folder2 /E /NP)
teracopy 28 secs (ex. teracopy.exe copy G:\folder1\ G:\folder2\)
fastcopy 19 secs (ex. fastcopy.exe /auto_close G:\folder1 /to=G:\folder2)

文件:732,1 ISO文件复制到外部USB磁盘.

copy     36 secs (ex. copy G:\folder1\* I:\folder2\)
xcopy    35 secs (ex. xcopy G:\folder1 I:\folder2 /I /E /Y /R)
robocopy 36 secs (ex. robocopy G:\folder1\ I:\folder2 /E /NP)
teracopy 36 secs (ex. teracopy.exe copy G:\folder1\ I:\folder2\)
fastcopy 38 secs (ex. fastcopy.exe /auto_close G:\folder1 /to=I:\folder2)

文件:45,039,616bytes(42.9MB)5个随机文件复制到外部USB磁盘

copy      6 secs (ex. copy G:\folder1\* I:\folder2\)
xcopy     5 secs (ex. xcopy G:\folder1 I:\folder2 /I /E /Y /R)
robocopy  6 secs (ex. robocopy G:\folder1\ I:\folder2 /E /NP)
teracopy 12 secs (ex. teracopy.exe copy G:\folder1\ I:\folder2\)
fastcopy  6 secs (ex. fastcopy.exe /auto_close G:\folder1 /to=I:\folder2)

文件/指南:1,087,180,800字节(1.01 GB),27个文件/ 8个目录复制到外部USB磁盘.

copy     *Not included in test
xcopy    57 secs (ex. xcopy G:\folder1 I:\folder2 /I /E /Y /R)
robocopy 58 secs (ex. robocopy G:\folder1\ I:\folder2 /E /NP)
teracopy 56 secs (ex. teracopy.exe copy G:\folder1\ I:\folder2\)
fastcopy 60 secs (ex. fastcopy.exe /auto_close G:\folder1 /to=I:\folder2)

这绝不是一个详尽的测试,但只是在这个类型的一些更流行的工具上投射一个快速的真实世界场景表明你非常安全地坚持使用xcopy或Robocopy(仅从性能角度来看).此外,Robocopy选项/ NP(无进度)可为您节省0倍的时间.但这并不意味着你不能从使用xcopy以外的东西中受益. Robocopy是一个很好的例子(从Wikipedia开始):

Robocopy以内置Windows副本之外的功能而着称
xcopy命令,包括以下内容:

>能够容忍网络中断并继续复制它以前没过了(不完整的文件标有日期戳对应1980-01-01和包含恢复记录所以Robocopy知道从哪里继续).>能够正确复制属性,所有者信息,备用数据流,审计信息和默认情况下,没有时间戳需要经常被遗忘的人命令行开关.>能够正确复制NTFS ACL,(当/ copYALL提供时),以及断言Windows NT“备份权”(/ B)所以管理员可以复制整个目录,包括文件否认了可读性管理员.>默认情况下持久化,带有可编程自动数如果无法打开文件,则重试.>“镜子”模式,保持树木通过可选地删除文件来同步目的地不再是目前在源头.>能够复制大量的否则会导致崩溃的文件内置XcopY实用程序.>命令上的进度指示器连续更新的行.>能够复制长文件和文件夹名称超过256个字符 – 向上理论上32,000个字符 – 没有错误.

windows-server-2008 – 最快的复制文件的方法的更多相关文章

  1. 升级应用程序版本后Xcopy命令不起作用

    我在脚本下使用以下命令当xcopy命令失败时,前两个命令工作正常。此外,当使用copy命令而不是xcopy时,该命令工作正常Robocopy也给出了与Xcopy相同的错误有人能帮忙解决这个问题吗?

  2. batch-file – 从DOS命令移动除某些文件(文件模式)以外的所有文件

    从DOS命令我想移动所有与文件名模式不匹配的文件.像这样的东西:例如,我想移动所有不以“aaa”开头的文件XcopY旨在与’排除’列表一起使用…

  3. 命令行 – 导致xcopy告诉我访问被拒绝的原因是什么?

    我们的一个解决方案的postbuild任务使用xcopy将文件移动到共同的目录中以构建工件.由于某些原因,在我的计算机上,xcopy将失败,而“拒绝访问”.以下是我为尝试隔离问题所做的工作:我试过正常的副本;这个工作.>我仔细检查,没有一个文件是只读的.我检查了源文件夹和目标文件夹的权限;我完全控制了两者.>我尝试从命令行调用xcopy,以防VS构建过程锁定文件.>我使用Unlocker和ProcessExplorer来确定源文件上没有锁.我错过了什么,除了涉及电脑的偏执狂阴谋理论让我?

  4. windows – 从txt中扫描所有文件夹和子文件夹(带路径和空格)

    我有一个txt文件,其中包含.jpg文件的完整路径,我需要使用批处理文件xcopy整个文件夹,包括使用xcopy内部的所有内容这是一个老问题,但我有同样的问题,上述答案都没有为我做过.我不得不添加/s:复制子文件夹中的所有文件,子文件夹和文件.这里提供了更多(和有用的)文档:https://docs.microsoft.com/en-us/windows-server/administration

  5. windows – 任务管理器中的进程优先级是否会影响网络流量?

    我正在运行一个中等负载的数据库服务器.我刚刚在该框上启动了xcopy,将数据库备份复制到远程服务器.我看到xcopy几乎使用了所有可用带宽.我担心它会占用数据库否则会使用的带宽.如果我在taskmgr中降低xcopy的优先级,那么这会降低网络流量的优先级,还是仅降低cpu时间?

  6. windows-server-2008 – 最快的复制文件的方法

    如果我们在构建服务器上成功构建,则所有ASP.NET网站文件都将复制到虚拟目录,以便非开发人员可以查看/测试最新版本的网站.在构建结束时,执行以下bat文件.问题是我发现复制速度很慢,并且想知道Windows2008中是否有比xcopy更快的复制命令?

  7. 什么是Windows命令行命令来复制文件?

    什么是windows命令提示符命令来复制文件?我需要将文件从位置A移动到位置B.此外,如果位置B的文件夹不存在,我想创建它.我需要这个命令行,所以我可以自动化它.Windows的版本是XP.命令xcopy是您正在寻找的.例:上面的命令将源复制到目标,文件和目录,不会停止出错,将复制隐藏和系统文件,将覆盖只读文件,将保留属性和所有权/ACL信息,并将抑制提示覆盖现有目标文件.有关更多信息,请输入xcopy/?

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部