中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]拷贝文件到指定文件夹下包括所有子目录
作者:
标题: [已解决]拷贝文件到指定文件夹下包括所有子目录 上一主题 | 下一主题
lslcxlsl
初级用户





积分 52
发帖 24
注册 2007-8-24
状态 离线
『楼 主』:  [已解决]拷贝文件到指定文件夹下包括所有子目录

拷贝文件到指定文件夹下包括所有子目录

例如:
我一个文本文件想拷贝到 D:\123目录.并且包括123文件每个子目录都拷贝一份.

复制关系是 :一到多.

本人能力有限,不知道怎么写

[ Last edited by lslcxlsl on 2008-3-7 at 03:32 PM ]

2008-3-7 12:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 2 楼』:  

xcopy /?



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-3-7 12:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lslcxlsl
初级用户





积分 52
发帖 24
注册 2007-8-24
状态 离线
『第 3 楼』:  

我正在测试你的文件整理的批处理呢 呵呵
xcopy 似乎没有把一个文件复制到一个目录包括子目录的参数吧?

2008-3-7 12:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 4 楼』:  


@echo off
set "file=test.txt"
set "pth=d:\123"
if not exist %pth% (md "%pth%")
for /r "%pth%" %%i in (.) do (xcopy /y %file% "%%i")
pause


2008-3-7 12:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 5 楼』:  

如果不需要设置变量,固定为复制当前目录下的test.txt到D:\123中各子目录下的话

批处理只要下面一行即可

for /r "D:\123" %%i in (.) do (xcopy /y test.txt "%%i")

如果在CMD命令行直接运行 请将%%i改为%i

2008-3-7 12:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lslcxlsl
初级用户





积分 52
发帖 24
注册 2007-8-24
状态 离线
『第 6 楼』:  

噢非常感谢.可以正常运行

不知道能解释下原理不?

[ Last edited by lslcxlsl on 2008-3-7 at 01:04 PM ]

2008-3-7 13:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by lslcxlsl at 2008-3-7 13:02:
噢非常感谢.可以正常运行

不知道能解释下原理不?

[ Last edited by lslcxlsl on 2008-3-7 at 01:04 PM ]

多看基础教程  多搜索
::设置命令不回显在屏幕上
@echo off

::设置要复制的文件名
set "file=test.txt"

::设置要复制到的目标文件夹
set "pth=d:\123"

::用IF进行判断,假如目标文件夹不存在就创建它
::用FOR进行循环取值,(.)是将当前目录下的子目录名作为循环范围
::用xcopy带开关/y可以不出现操作提示,直接复制文件到各个子目录中
if not exist %pth% (md "%pth%")
for /r "%pth%" %%i in (.) do (xcopy /y %file% "%%i")

::暂停命令,如果不需要查看运行结果的话可以删除
pause
[ Last edited by suntb on 2008-3-7 at 02:01 PM ]

2008-3-7 13:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lslcxlsl
初级用户





积分 52
发帖 24
注册 2007-8-24
状态 离线
『第 8 楼』:  

非常非常感谢.

2008-3-7 14:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: