中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 16:21
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]拷贝文件到指定文件夹下包括所有子目录 查看 873 回复 7
楼 主 [已解决]拷贝文件到指定文件夹下包括所有子目录 发表于 2008-03-07 12:19 ·  中国 陕西 西安 电信
初级用户
积分 52
发帖 24
注册 2007-08-24 08:31
18年会员
UID 95728
性别 男
状态 离线
拷贝文件到指定文件夹下包括所有子目录

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

复制关系是 :一到多.

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

[ Last edited by lslcxlsl on 2008-3-7 at 03:32 PM ]
2 发表于 2008-03-07 12:23 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
xcopy /?
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
3 发表于 2008-03-07 12:35 ·  中国 陕西 西安 电信
初级用户
积分 52
发帖 24
注册 2007-08-24 08:31
18年会员
UID 95728
性别 男
状态 离线
我正在测试你的文件整理的批处理呢 呵呵
xcopy 似乎没有把一个文件复制到一个目录包括子目录的参数吧?
4 发表于 2008-03-07 12:45 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
19年会员
UID 74328
性别 男
状态 离线

@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
5 发表于 2008-03-07 12:52 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
19年会员
UID 74328
性别 男
状态 离线
如果不需要设置变量,固定为复制当前目录下的test.txt到D:\123中各子目录下的话

批处理只要下面一行即可

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

如果在CMD命令行直接运行 请将%%i改为%i
6 发表于 2008-03-07 13:02 ·  中国 陕西 西安 电信
初级用户
积分 52
发帖 24
注册 2007-08-24 08:31
18年会员
UID 95728
性别 男
状态 离线
噢非常感谢.可以正常运行

不知道能解释下原理不?

[ Last edited by lslcxlsl on 2008-3-7 at 01:04 PM ]
7 发表于 2008-03-07 13:59 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
19年会员
UID 74328
性别 男
状态 离线
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 ]
8 发表于 2008-03-07 14:20 ·  中国 陕西 西安 电信
初级用户
积分 52
发帖 24
注册 2007-08-24 08:31
18年会员
UID 95728
性别 男
状态 离线
非常非常感谢.
论坛跳转: