海量文件复制和备份的技巧(xcopy命令实现)
网站服务器上的文件通常会越来越多,大量文件进行复制和备份的时候,使用Windows自带的复制粘贴功能,速度会非常慢,主要原因和Windows复制时候计算剩余时间有关,这给网站管理员带来了不少困扰。我这里就总结一个简单而快速的进行海量文件复制和备份的方法。
首先,Xcopy是什么?
Xcopy是一个Windows自带的复制文件和目录的工具,可以复制子目录,是个非常好用的命令行工具。
常用的带子目录的复制方法是:
xcopy"d:\website""d:\webbak"/s/e/y
针对于网站备份,我们可以只复制那些被修改的文件,可以使用如下命令:
xcopy"d:\website""d:\webbak"/s/e/y/d
这个命令根据文件日期判断,自动复制那些日期变化的文件。
最后,更多的使用格式:
XCOPYsource[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改写。