欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

谈谈xcopy中的排除copy

程序员文章站 2022-03-22 09:11:50
不过这个命令用起来真的不好用 并不像windows的帮助写的那么简单 下面来详细说明一下 我们先看看xcopy的帮助是怎么写的 /exclude:fil...
不过这个命令用起来真的不好用 并不像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对此次测试的重要帮助