中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 22:47
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » DOS能否只复制文件夹子目录里面的文件
可打印版本  1,574 / 9
第1楼 nbic 发表于 2007-05-23 23:56
初级用户 发帖 61 积分 135
DOS能否只复制文件夹子目录里面的文件
有一个文件夹A。其里面的子文件夹不少,DOS能不能完成,只复制A文件夹里面所有的文件,而不包括子文件夹(即,排除子文件夹)

如果可以,该如何做到呢?

先谢过!
第2楼 fengzi 发表于 2007-05-24 04:06
中级用户 发帖 152 积分 315
copy A\*.* 2\
应该可以哦```不会复制A目录子目录里的东西
路径自己更改`

[ Last edited by fengzi on 2007-5-24 at 04:35 AM ]
第3楼 nbic 发表于 2007-05-24 06:19
初级用户 发帖 61 积分 135
Originally posted by fengzi at 2007-5-24 04:06 AM:
copy A\*.* 2\
应该可以哦```不会复制A目录子目录里的东西
路径自己更改`

[ Last edited by fengzi on 2007-5-24 at 04:35 AM ]

最后面的2\是?
其实我想把A子目录里面的所有文件也复制哦。但需要排除A中的子文件夹。

比如说吧:A里面有B、C、...、F这么几个子文件夹,我想只通过一个命令,就将B~F里面所有的文件复制到G。而排除B、C、...、F这些子文件夹。

[ Last edited by nbic on 2007-5-24 at 06:24 AM ]
第4楼 qinbuer 发表于 2007-05-24 10:12
高级用户 发帖 228 积分 512
直接copy该文件夹就行了,如copy A:\B G:
copy会排除B文件夹中的子文件夹
第5楼 nbic 发表于 2007-05-24 10:38
初级用户 发帖 61 积分 135
Originally posted by qinbuer at 2007-5-24 10:12 AM:
直接copy该文件夹就行了,如copy A:\B G:
copy会排除B文件夹中的子文件夹

这个只有在B里面没有子文件夹下才行的啊。。问题是。在目录树比较长的情况下,不会要把每个路径都写出来吧。。?那样不是很麻烦。而且。B里面的子文件夹的数目是会改变的。。要是写路径,这个就更难了。。
第6楼 qinbuer 发表于 2007-05-24 10:42
高级用户 发帖 228 积分 512
有文件夹一样可以,比如B文件家下有test文件夹和test.txt文本,copy A:\b只会复制test.txt文本,你应该试一下再发问
第7楼 nbic 发表于 2007-05-24 11:57
初级用户 发帖 61 积分 135
Originally posted by qinbuer at 2007-5-24 10:42 AM:
有文件夹一样可以,比如B文件家和test.txt文本,copy A:\b只会复制test.txt文本,你应该试一下再发问

估计你还没有明白我的意思。不是我没试过,是我早试过了。

比如B文件家下有test文件夹和test.txt文本。你能不能copy A:\b 然后将B里面所有的文件都复制出来。而排除test文件夹呢?要求不要将路径延伸到test子文件夹里面。。
第8楼 terse 发表于 2007-05-24 12:54
银牌会员 发帖 946 积分 2,404
for /r D:\xy %%a in (*.*) do xcopy %%a e:\xy\
第9楼 zhoushijay 发表于 2007-05-24 12:57
高级用户 发帖 375 积分 845
可以用 dir /a-d 来找COPY的路径,排除目录

[ Last edited by zhoushijay on 2007-5-24 at 12:58 PM ]
第10楼 26933062 发表于 2007-06-13 00:19
银牌会员 发帖 879 积分 2,268
没处理含空格文件名的文件和文件夹
将d:\a文件夹里的子文件夹里的文件复制到e:\abc
大致思路这样,没测试....
@echo off
for /f %%i in ('dir/ad/b d:\a') call :lis %%i
goto :eof
:lis
for /r %1 %%j in (*.*) do xcopy/y/e %%j e:\abc\
goto :eof
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023