当前位置: 首页 > 图文教程 > 脚本技术 > DOS/BAT > 谈谈xcopy中的排除copy

DOS/BAT
dos 文件删除 del命令
dos 重命名文件(夹)ren
dos 创建文件夹 md
dos 删除文件夹 rd
ren 命令在使用通配符时需要注意的地方
批处理FOR 中的Delims和Tokens总结
批处理 FOR参数/F之tokens详解
for 提取文本整行内容的方法
Dos Shell操作代码
将文件夹变为磁盘的批处理
批处理 延时不完全总结
批处理读取注册表中run下面的值的代码
查看物理内存的批处理
批处理 用户是否存在判断
百度关键字搜索(批处理打开网页)
本机每个盘都添加上卷标的命令
批处理维护工具菜单实现
计算机名DNS网关IP(大家可以用来学习)
防arp欺骗的批处理(绑定arp)
批处理倒计时(全屏)

DOS/BAT 中的 谈谈xcopy中的排除copy


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 227 ::
收藏到网摘: n/a

不过这个命令用起来真的不好用 并不像windows的帮助写的那么简单 下面来详细说明一下
我们先看看xcopy的帮助是怎么写的
/EXCLUDE:file1[+file2][+file3]...
指定含有字符串的文件列表。每一个字符串
必须在文件的单独行中。如果有任何
字符串与要被复制的文件的绝对路径
相符,那个文件将不会得到复制。
例如,指定如 \obj\ 或 .obj 的字符串会排除
目录 obj 下面的所有文件或带有
.obj 扩展名的文件。
下面我们来作试验
建立两个文件夹 一个叫做data 一个叫做backup
目录树
Z:.

├─data
│ ├─bad
│ └─good
│ bad.txt
│ good.txt
│ 1.bad
│ 2.bad
│ 3.bad
│ 5.bad
│ 4.bad

└─backup
偶们的目标就是把 凡是标记了good的文件夹以及文件copy到backup这个目录里面 而排除标记了bad的文件夹和目录
根据xcopy的帮助写如下命令
xcopy /e /s /h /exclude:uncopy.txt z:\data\ z:\backup\
uncopy.txt里面就包含了我们想要排除的文件 以及 文件夹
内容如下
\bad\
bad.txt
.bad
xcopy /e /s /h /exclude:uncopy.txt z:\data\ z:\backup\ 这条命令大家先不要执行 觉得有错吗?
ok 我们来执行看看
Z:\>xcopy /e /s /h /exclude:uncopy.txt z:\data\ z:\backup\
无效路径
复制了 0 个文件
真有趣阿 呵呵 无效路径
xcopy /e /s /h /exclude:uncopy.txt z:\data\ z:\backup\ 问题出在z:\data\ 上面
正确的写法应该是z:\data 不要\ 而后面的 z:\backup\ 则要不要\都可以
改过以后我们再来执行
Z:\>xcopy /e /s /h /exclude:uncopy.txt z:\data z:\backup\
Z:\data\good\good.txt
复制了 1 个文件
看一下backup的目录树
Z:.
└─good
good.txt
对比
Z:.
├─bad
└─good
bad.txt
good.txt
1.bad
2.bad
3.bad
5.bad
4.bad
我们成功的复制了只标记了good的文件夹以及文件
这个用法不错 比如 你硬盘上有文件损坏了 可以使用这个 方法避开损坏的文件
又或者 避开 一些不需要的文件 只copy想要的东西
在通配符不好使的情况下 你可以尝试这种方法
thx:10对此次测试的重要帮助