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

DOS/BAT
每天按时 重启服务器 的批处理
Netsh 命令备份和恢复网络设置
批处理 Set 命令详解 让你理解set命令
cd命令 目录跳转
cmd tree命令 以树形格式罗列文件
dos 内容重定向符 >和>>
cmd if条件 条件判断
cmd goto命令 流程跳转
cmd copy命令 文件复制
cmd del命令 文件删除
cmd ren命令 重命名文件(夹)
cmd md命令 创建文件夹
cmd rd命令 删除文件夹
cmd move命令 移动文件(夹)
字符串查找 cmd find命令
常用的批处理实用技巧
批处理 添加隐藏用户代码
服务器 安全设置 批处理
WIN2003 服务器安全配置批处理文件
批处理 实现定时关机、注销、重启、锁定等功能

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 220 ::
收藏到网摘: 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对此次测试的重要帮助