dos多线程命令是Robocopy

查看Robocopy命令的解释

------------------------------------------------------------------------------- ROBOcopY :: Windows 的可靠文件复制 -------------------------------------------------------------------------------

 开始时间: Fri May 25 02:14:29 2018

 用法 :: 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 :: 对照目标复制符号链接。

 /MT[:n] :: 使用 n 个线程进行多线程复制(默认值为 8)。
 n 必须至少为 1,但不得大于 128。
 该选项与 /IPG 和 /EFSRAW 选项不兼容。
 使用 /LOG 选项重定向输出以便获得最佳性能。

::
:: 文件选择选项:
::
 /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 :: 包含以下文件。

从这个命令的解释可知,该命令常用用法是 Robocopy C:\ D:\将C盘内容全部复制到D盘。
在工作中常用的参数有 :

  1. /LOG:文件名,覆盖日志文件
  2. /LOG+:文件名,追加到日志文件
  3. /E :: 复制子目录,包括空的子目录
  4. /XF 文件[文件]… :: 排除与给定名称/路径/通配符匹配的文件
  5. /LEV:n :: 仅复制源目录树的前 n 层
  6. /MIR :: 镜像目录树(等同于 /E 和 /PURGE)
  7. /MT[:n] :: 使用 n 个线程进行多线程复制(默认值为 8)。
    n 必须至少为 1,但不得大于 128。
    该选项与 /IPG 和 /EFSRAW 选项不兼容。
    使用 /LOG 选项重定向输出以便获得最佳性能

今天我要讲的是最后一个参数**/MT**多线程,
我写了一个将一个盘复制到另一个盘中,代码如下:

**@echo off
robocopy /MIR /MT:16 D:\ G:\ /LOG:COY.LOG**

文件大小:56G

查看日志

------------------------------------------------------------------------------

                  总数        复制        跳过       不匹配        失败        其他
       目录:      3741         0      3741         0         0         0
       文件:     39370     24409     14961         0         0         0
       字节:  55.544 g  54.099 g   1.444 g         0         0         0
       时间:   8:06:41   0:27:06                       0:00:00   0:01:42

       结束: Fri May 25 02:47:54 2018

以前试过直接复制这么大文件,需要4个多小时,用这个命令只用了1/8的时间,其效率可见一斑。

Windows系统DOS命令之多线程技术的更多相关文章

  1. 关于h5中的fetch方法解读(小结)

    这篇文章主要介绍了关于h5中的fetch方法解读(小结),fetch身为H5中的一个新对象,他的诞生,是为了取代ajax的存在而出现,有兴趣的可以了解一下

  2. ios – Xcode警告:“没有处理文件的规则”和“找不到目录”

    重命名我的项目文件夹后,我收到以下错误消息:什么可能出错?解决方法关于第一个警告,您可以在项目设置中的“构建阶段”中检查XCode,即头文件不会出现在“编译源”列表中.

  3. 你如何将xcode项目转换为cocoapod?

    我有一段代码,我发现我在多个不同的项目中重复使用,所以我想把它变成一个cocoapod并使用私人cocoapod仓库.我的问题是如何将xcode项目设置为cocoapod?它应该是一个静态库还是一个带有appdelegate的空“项目”?

  4. ios – 如何将文件添加到主包的/ Library / Sounds目录中?

    根据Apple’sdocumentation,/Library/Sounds中的声音文件将在尝试播放声音时由系统搜索.如何将声音文件添加到此文件夹?适用于iOS的正确文档应为here总之,您只需将声音文件作为应用程序包的非本地化资源添加到项目中.

  5. ios – 资产目录与文件夹参考:何时使用其中一个?

    我可以将文件放入Assets.xcassets,或者我可以将文件放入文件夹引用.我何时会选择一个而不是另一个?

  6. ios – 从icloud备份中限制sqlite-wal和sqlite-shm

    我是第一次使用coredata,我必须从文档目录中的iCloud备份限制sqlitedb文件,我使用下面的代码完成了它//阻止iCloud备份文档目录文件夹现在我不明白的是,我们还需要从icloud备份中限制sqlite-wal和sqlite-shm文件,如果是,那么如何从icloud备份限制sqlite-wal和sqlite-shm文件我想要一个解决方案,而无需从文档目录文件夹中更改sqlitedb位置…

  7. iOS:如何从文档目录中删除具有特定扩展名的所有现有文件?

    当我更新我的iOS应用程序时,我想删除Documents目录中的任何现有sqlite数据库.现在,在应用程序更新时,我将数据库从软件包复制到文档目录,并通过附加软件包版本来命名它.因此,在更新时,我还想删除可能存在的任何旧版本.我只是希望能够删除所有sqlite文件,而无需循环浏览并查找以前版本的文件.是否有任何方法可以对removeFileAtPath:方法进行通配符?解决方法那么,你想要删除所有*.sqlite文件?

  8. .dylib在Debug中链接,在XCode中找不到适用于iPhone的版本

    所以我已经将libxml2.2.dylib库包含在我的iPhoneXCode项目中,以创建一些Xml和XPath解析实用程序.当我编译并运行在模拟器和设备的调试模式时,我没有问题,但是,当我切换到发布模式我得到…

  9. ios – 从文件目录加载UIImage

    我正在尝试从文件目录加载一个UIImage,并将其设置为UIImageView,如下所示:但是,每当我尝试以上,图像从不加载.该图像在Documents/MyAppCustomDirectory/school.png中.以上是否正确从该目录加载?我也尝试了其他几个:UIImageimageWithContentsOfFile,以及基于SO响应的其他方法.解决方法要获取您应该使用的文档目录:我不太清

  10. Xcode 6 / iOS 8模拟器数据和软件包文件夹脚本

    随着xcode6的最新更改,它看起来像.app文件和文档文件夹不再驻留在iPhone模拟器目录中的同一个文件夹中.以前,我们可以访问目录和.app文件但在Xcode6中,模拟器目录是完全不同的:和其中CryptNumber1,2和3都不同.有没有办法找到包含.app文件的文件夹后,我可以得到相应的文件夹?我有这个麻烦.为什么…?

随机推荐

  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结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部