海量文件复制和备份的技巧(xcopy命令实现)

网站服务器上的文件通常会越来越多,大量文件进行复制和备份的时候,使用Windows自带的复制粘贴功能,速度会非常慢,主要原因和Windows复制时候计算剩余时间有关,这给网站管理员带来了不少困扰。我这里就总结一个简单而快速的进行海量文件复制和备份的方法。

首先,Xcopy是什么?

Xcopy是一个Windows自带的复制文件和目录的工具,可以复制子目录,是个非常好用的命令行工具。

常用的带子目录的复制方法是:

xcopy "d:\website" "d:\webbak" /s/e/y

针对于网站备份,我们可以只复制那些被修改的文件,可以使用如下命令:

xcopy "d:\website" "d:\webbak" /s/e/y/d

这个命令根据文件日期判断,自动复制那些日期变化的文件。

最后,更多的使用格式:

  XCOPY source [destination] [/A | /M] [/D[:date]] [/P]
  [/C] [/I] [/Q] [/F] [/L] [/
  [/K] [/N] [/O] [/X] [/Y] [/
  [/EXCLUDE:file1[+file2][+fi
  source 指定要复制的文件。
  destination 指定新文件的位置和/或名称。
  /A 只复制有存档属性集的文件,
  但不改变属性。
  /M 只复制有存档属性集的文件,
  并关闭存档属性。
  /D:m-d-y 复制在指定日期或指定日期以后更改的文件。
  如果没有提供日期,只复制那些源时间
  比目标时间新的文件。
  /EXCLUDE:file1[+file2][+file3]...
  指定含有字符串的文件列表。每一个字符串
  必须在文件的单独行中。如果有任何
  字符串与要被复制的文件的绝对路径
  相符,那个文件将不会得到复制。
  例如,指定如 \obj\ 或 .obj 的字符串会排
  目录 obj 下面的所有文件或带有
  .obj 扩展名的文件。
  /P 创建每个目标文件前提示。
  /S 复制目录和子目录,除了空的。
  /E 复制目录和子目录,包括空的。
  与 /S /E 相同。可以用来修改 /T。
  /V 验证每个新文件。
  /W 提示您在复制前按键。
  /C 即使有错误,也继续复制。
  /I 如果目标不存在,又在复制一个以上的文件,
  则假定目标一定是一个目录。
  /Q 复制时不显示文件名。
  /F 复制时显示完整的源和目标文件名。
  /L 显示要复制的文件。
  /G 允许将没有经过加密的文件复制到
  不支持加密的目标。
  /H 也复制隐藏和系统文件。
  /R 覆盖只读文件。
  /T 创建目录结构,但不复制文件。
  不包括空目录或子目录。/T /E 包括
  空目录和子目录。
  /U 只复制已经存在于目标中的文件。
  /K 复制属性。一般的 Xcopy 会重置只读属性。
  /N 用生成的短名复制。
  /O 复制文件所有权和 ACL 信息。
  /X 复制文件审核设置(隐含 /O)。
  /Y 复制文件审核设置(隐含 /O)。
  现存目标文件。
  /-Y 导致提示以确认改写一个
  现存目标文件。
  /Z 用重新启动模式复制网络文件。
  命令行开关 /Y 可以预先在 COPYCMD 环境变量中设置。这可能被命令行上的 /-Y 改写。

(0)

相关推荐

  • XCOPY只拷贝当天文件的实现代码

    最近由于MESIS数据库自动站资料的事,需要从CMACAST广播目录L1下将本省的区域自动站数据文件拷贝出来用于入库.在实际操作中碰到几个问题,特此做备忘录,以便以后查找. 问题1:MICDB指定的源目录只要有文件就处理,进库程序本省很耗资源,用PC机处理要讲究效率,最好每次只放入最新文件,以减少重复处理的情况. 问题2:CMACAST广播目录L1文件太多,3天有49万多个文件,光打开目录就要读N分钟,国家局信息中心技术人员都是吃粪的.本来用SceondCopy进行拷贝功能很强大,可以实现只拷贝

  • 利用xcopy命令实现本地文件复制到远程服务器的方法

    A.net use \\IP地址 密码/user:****** B.xcopy 文件 \\IP地址\ 批处理文件为backup.bat,其代码如下: ========================================================================================= net use \\192.168.1.198\ipc$ Zqf198703 /user:royalpeak xcopy g:\backup\*.* \\192.168.

  • BAT批处理之文件与文件夹操作代码(附xcopy命令详解)

    批处理中的文件.文件夹操作,xcopy命令的用法. 一,建bat文件自动执行复制,删除命令. 例1:复制cd.dll文件至windows\system32的bat文件内容: 复制代码 代码如下: copy cd.dll %windir%\system32 例2:卸载windows\system32目录中的cd.dll,即把上面复制的文件删除: 复制代码 代码如下: del %windir%\system32\cd.dll 例3:删除download文件夹中的文件,例子如下: 复制代码 代码如下:

  • Xcopy 复制文件和目录,包括子目录。

    Xcopy 复制文件和目录,包括子目录. 语法 xcopy Source [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-yyyy]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:file1[+[file2]][+[file3]] [{/y|/-y}] [/z] 参数 Source  必需的.指定要复制的文件的

  • XCOPY的高级使用:指定日期并且用EXCLUDE排除指定文件

    1.cmd到xcopyTime.bat所在目录,执行命令xcopyTime sourceFolder DestinationFolder dateTime 2.EXCLUDE.txt是排除的对象,不复制其中罗列的文件或文件夹 例子: F:\bat>xcopyTime E:\workspace F:\website\ 06-30-2010 EXCLUDE.txt内容,在下面的线里面 ------------------------------ .classpath .class .log ----

  • bat+xcopy实现只复制比目标文件更新的文件

    问题一:假如现在c:\a文件夹下的所有文件和d:\a下的文件相同(修改日期及内容) c:\a下的一个文件被别人修改了或者添加了一个文件! 能否写个bat,判断一下c:\a文件夹下的每个文件的最后修改日期是不是在前两天内!如果是,则复制到d:\a下的相应目录(要是原来有,则覆盖),如果不是,则不复制了. 目录复制: 复制代码 代码如下: @echo off echo y|xcopy c:\a /d /e /r /k d:\a\ pause 复制文件 复制代码 代码如下: echo y | xcop

  • xcopy 实现批处理拷贝文件或文件夹

    xcopy 是一个很有用的doc命令,应该学习学习! 可以用xcopy实现,例如: C:\>xcopy C:\ppt\*.* D:\ppt\ /s /e 这条命令的意思就是把C盘下的PPT文件夹全部拷贝到D盘 XCOPY 还有众多的功能, 是加参数来完成的.上面的/s /e 参数的作用分别是把子目录和空目录都复制过去, 一些使用举例和参数说明如下: 1.如只是单纯地复制 E:\ 盘上所有文件到 D:\ 盘上,就输入" xcopy e:\*.* d: /s /h "就行啦!如果在复

  • 海量文件复制和备份的技巧(xcopy命令实现)

    网站服务器上的文件通常会越来越多,大量文件进行复制和备份的时候,使用Windows自带的复制粘贴功能,速度会非常慢,主要原因和Windows复制时候计算剩余时间有关,这给网站管理员带来了不少困扰.我这里就总结一个简单而快速的进行海量文件复制和备份的方法. 首先,Xcopy是什么? Xcopy是一个Windows自带的复制文件和目录的工具,可以复制子目录,是个非常好用的命令行工具. 常用的带子目录的复制方法是: xcopy "d:\website" "d:\webbak&quo

  • cmd copy命令 文件复制

    假设,你需要把d:\test\test.txt这个文件复制到D盘根目录下,那么,使用 copy d:\test\test.txt d:\ 就可以轻易办到. 当然,这是最简单的情形,在实际使用中,还是会碰到十分复杂的情况的. 如果D盘根目录下已经存在了一个名为test.txt的文件,那么,复制过去的时候,copy命令就会提示你是覆盖原文件.是放弃复制还是覆盖所有文件.如果你在批量复制的时候,一概覆盖原文件,那么,一个一个地选择十分麻烦,这个时候,你可以使用不加提示就覆盖原文件的参数 /y (相当于

  • dos 文件复制 copy命令

    假设,你需要把d:\test\test.txt这个文件复制到D盘根目录下,那么,使用 copy d:\test\test.txt d:\ 就可以轻易办到. 当然,这是最简单的情形,在实际使用中,还是会碰到十分复杂的情况的. 如果D盘根目录下已经存在了一个名为test.txt的文件,那么,复制过去的时候,copy命令就会提示你是覆盖原文件.是放弃复制还是覆盖所有文件.如果你在批量复制的时候,一概覆盖原文件,那么,一个一个地选择十分麻烦,这个时候,你可以使用不加提示就覆盖原文件的参数 /y (相当于

  • 利用批处理实现文件复制并压缩的实现代码

    批处理 复制并压缩文件的实现代码 复制代码 代码如下: @echo onrem 把源路径赋值给spset sp=D:/JavaWorkSpace/huayu_bbsrem 下面获取当前日期,并调用拷贝过程for /f "tokens=2 delims==" %%a in ('wmic os get localdatetime /value^|findstr /i "LocalDateTime"') do (call :doit %%a)pauseexit :doit

  • Linux VPS备份教程 数据库/网站文件自动定时备份

    几天写过两篇使用VPS的安全性设置的博文,其实不管我们如何设置安全,及时的备份VPS数据才是最为重要的.因为VPS与主机不同,主机可能很多时候服务商代为我们备份,VPS的操作和安全性大部分都需要我们自己来负责,即便很多VPS上提供每日备份服务,但是不可确定因素实在太多.比如商家跑路.母机硬盘损坏.不可控因素等. 关于VPS备份教程方法可用的方法也很多,比如我们常规的备份直接通过FTP下载,MYSQL数据库导出也是可以操作的,但是这些都比较麻烦,而且还需要人为去执行.这篇文章老左分享目前大家比较常

  • Linux下正确快速删除海量文件的方法分享

    前言 注意本文说的"海量"并不是指体积大,而是指数量,比如一个目录下有数百万个小文件. 最近在优化服务器时发现postfix下的maildrop目录和clientmqueue目录下发现有大量的文件,进入这些目录里使用ls命令是愚蠢的做法,而直接执行rm * , 没有任何反应,文件数量也没有减少,也就是说,在海量文件目录里直接使用rm命令进行删除是无效的. 那么正确的方法是什么呢?有两种方法可选: 第一种: find /path/to/directory -type f -exec rm

  • 易语言制作文件夹压缩备份工具的代码

    文件夹压缩备份工具 此功能需要加载精易模块5.6 .版本 2 .支持库 shell .支持库 iext .支持库 eCompress .程序集 窗口程序集1 .程序集变量 时间戳, 文本型 .程序集变量 过滤文本, 文本型, , "0" .子程序 _文件路径按钮_被单击 .局部变量 路径, 文本型 路径 = 浏览文件夹 ("选择一个文件夹备份", 假) .判断开始 (路径 = "") 提示框 ("请选择文件夹备份!") .默认

  • Python 实现文件的全备份和差异备份详解

    Python实现文件的全备份和差异备份 之前有写利用md5方式来做差异备份,但是这种md5方式来写存在以下问题: md5sum获取有些软连接的MD5值存在问题 不支持对空目录进行备份,因为md5sum无法获取空目录的md5值 权限的修改md5sum无法判断 解决方案: 利用文件的mtime ctime mtime(Modified time)是在写入文件时随文件内容的更改而更改的 ctime(Create time)是在写入文件.更改所有者.权限或链接设置时随Inode的内容更改而更改的 废话不

随机推荐