首页 > 编程 > BAT > 正文

谈谈xcopy中的排除copy

2020-07-26 20:28:39
字体:
来源:转载
供稿:网友
不过这个命令用起来真的不好用 并不像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对此次测试的重要帮助 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表