DOS tree命令+批处理 实现 指定文件 批量复制!



       今天一朋友叫我帮忙解决指定文件批量复制的问题,于是找了一大堆批处理命令,最后终于搞定了这个问题。原理是:结合tree命令生成的文件,再通过批处理命令,分析生成文件中出现的文件名,然后进行批量复制到指定目录。废话不多说,下面是步骤:
       首先 打开命令行 WIN+R打开运行对话框,然后输入CMD打开) 这里样假定为 e:\txt 这个文件夹里面文件 
DOS tree命令+批处理  实现 指定文件 批量复制! - Tienfook - Tienfooks Blogs.
 DOS命令行下 输入 
DOS tree命令+批处理  实现 指定文件 批量复制! - Tienfook - Tienfooks Blogs.
这时将会生成一个文件名为file的文件 
用记事本打开 
DOS tree命令+批处理  实现 指定文件 批量复制! - Tienfook - Tienfooks Blogs.
可以看到txt文件夹下 所有文件的文件名。
现在我们编写批处理命令:
 
echo 请确保“保存文件名的文件”file和本程序在同一目录
set /p lj= 请输入要拷贝到的路径:
for /f "tokens=*" %%a in (file)do (
for /f "tokens=*" %%i in ('dir/s/b/a-d %%a') do (
copy "%%~dpnxi" "%lj%"
)
)
 
将以上命令保存为.bat文件
DOS tree命令+批处理  实现 指定文件 批量复制! - Tienfook - Tienfooks Blogs.
现在将生成的file 文件  copyfile.bat文件一起复制到txt目录下
DOS tree命令+批处理  实现 指定文件 批量复制! - Tienfook - Tienfooks Blogs.
在这里我们可以直接双击bat文件 执行批处理程序
DOS tree命令+批处理  实现 指定文件 批量复制! - Tienfook - Tienfooks Blogs.
回车完 命令一闪而过:最后我们在abc文件夹下找到了 txt文件夹中被复制过去的文件
DOS tree命令+批处理  实现 指定文件 批量复制! - Tienfook - Tienfooks Blogs.
 
为了更清楚的看到执行过程 我们可以在DOS命令下 执行.bat文件
DOS tree命令+批处理  实现 指定文件 批量复制! - Tienfook - Tienfooks Blogs.
由于file文件中包含这样的字段:
DOS tree命令+批处理  实现 指定文件 批量复制! - Tienfook - Tienfooks Blogs.
所以会造成 批处理程序查找那三行的文件名 如果不存在 则进入下一行  处理的方式是自上而下一行一行读取文件名
 
好了,到这里。介绍完了整个步骤!不清楚的请留言!OR MAIL TO tienfook#gmail.com(#改为@)






@)
posted @ 2010-01-24 17:47  looky  阅读(2245)  评论(0编辑  收藏  举报