您的位置:首页 > 运维架构

用XCOPY命令实现考贝时不复制未修改的文件(解决Include拷贝问题)

2012-03-02 13:23 344 查看
用XCOPY命令解决头文件复制时,相同文件也会重新复制一遍的问题

COPY XCOPY

以下是xcopy自己的中文帮助:
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:file1[+file2][+file3]...]

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 改写。

要是copy的话,就很简单了(当然他只能复制一个文件,不能复制目录,用+号是文件连接)
+号举例:
这是a.txt:(末尾有回车)
This is a.

这是b.txt:(末尾也有回车)
This is b.

执行
copy a.txt+b.txt c.txt
则c.txt内容为(理论)
This is a.
This is b.

其实我操作一下,发现c.txt中This is b.后面回车的一行有一个奇怪的字符,看上去像右键头(直接复制过来的,宋体+记事本看的,用type看,只是回车空行,这就是下文所述的Ctrl+Z的字符)
copy的参数不多。用处大的有/a和/b
/a是用ASCII字符复制文件(就像刚才的例子,适合文本,不指定的话默认就是用ASCII方式连接),特点是遇到一个用Ctrl+Z输入的字符时就停止此文件的复制,复制下一个(当然只能在cmd里用,在windows里是撤销)

/b是按二进制方式复制,直到一个文件全部复制完才复制下一个,适合严密的文件(比如有的主板破解oem vista就要用/b复制rom,不然会刷死的。Vista Loader也使用这种方式制作引导文件,不然会无法引导,引导文件出错,要用系统光盘恢复引导XP、vista)这样复制例子的两个文本,末尾没有那个字符,只是回车。
把a.rom和b.rom连接成c.rom
copy a.rom /b+b.rom/b c.rom
每个文件可以单独制定复制方式
把a.txt(按二进制复制)与b.txt(用ascii复制)连接成c.txt
copy a.txt/b+b.txt/a c.txt

还有和xcopy一样的/y和/-y,他们在批处理里用得比较多,/y每个文件都提示要不要复制,而/-y不提示,直接完成复制

copy可以指定复制后文件的文件名,xcopy不能
比如把a.txt复制到d盘,名字不改
copy a.txt d:
把a.txt复制到d盘,名字改成b.txt
copy a.txt d:\b.txt
可以使用相对或绝对路径

以下是copy自己的中文帮助:

将一份或多份文件复制到另一个位置。

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]

source 指定要复制的文件。
/A 表示一个 ASCII 文本文件。
/B 表示一个二进位文件。
/D 允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名。
/V 验证新文件写入是否正确。
/N 复制带有非 8dot3 名称的文件时,
尽可能使用短文件名。
/Y 不使用确认是否要改写现有目标文件
的提示。
/-Y 使用确认是否要改写现有目标文件
的提示。
/Z 用可重新启动模式复制已联网的文件。

命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。
这可能会被命令行上的 /-Y 替代。除非 COPY
命令是在一个批文件脚本中执行的,默认值应为
在改写时进行提示。

要附加文件,请为目标指定一个文件,为源指定
数个文件(用通配符或 file1+file2+file3 格式)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐