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

DOS/BAT
Bootcfg 配置、查询或更改 Boot.ini 文件设置
Assoc显示或修改文件名扩展关联
at计划在指定时间和日期在计算机上运行命令和程序
使用 atmadm 来显示 ATM 适配器上传入和传出呼叫的统计信息
Attrib 显示、设置或删除指派给文件或目录的只读、存档、系统以及隐藏属性
可以使用的批处理参数集合
批处理下使用筛选器的函数
Getmac返回计算机中所有网卡的媒体访问控制 (MAC) 地址以及每个地址的网络协议列表
Cacls 显示或修改任意访问控制列表 (DACL) 文件
Call 从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。
Chcp 显示活动控制台代码页数量,或更改该控制台的活动控制台代码页
Chdir (Cd) 显示当前目录的名称,或更改当前的文件夹
Chkntfs 显示或指定在启动计算机时计划的自动系统检查是否在 FAT、FAT32 或者 NTFS 卷上运行。
Cipher 在 NTFS 卷上显示或改变文件的加密
Cls 清除命令提示符窗口
Cmd 启动命令解释器 Cmd.exe 的新实例
Cmstp 安装或删除“连接管理器”服务配置文件
color 对于当前会话,更改命令提示窗口的前景和背景色
配置命令提示符的方法
Comp 逐字节地比较两个文件或几组文件的内容

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


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