中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 18:09
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 文件夹下面的所有子文件夹里的文件复制到新的文件夹下
可打印版本  988 / 7
第1楼 mfdcxnf 发表于 2008-03-09 15:34
初级用户 发帖 74 积分 155
文件夹下面的所有子文件夹里的文件复制到新的文件夹下
如何用批处理实现将一个文件夹下面的所有子文件夹下面的文件复制到一个新的文件夹下面!
第2楼 suntb 发表于 2008-03-09 18:41
高级用户 发帖 277 积分 581
xcopy *.* 新文件夹 /e
第3楼 mfdcxnf 发表于 2008-03-10 19:07
初级用户 发帖 74 积分 155
首先谢谢你,不过你理解错误了,你这样的话,文件夹也一起复制了,我要的只是文件,文件夹不要。
第4楼 plp626 发表于 2008-03-10 19:22
银牌会员 发帖 1,020 积分 2,278
第5楼 huahua0919 发表于 2008-03-10 19:24
银牌会员 发帖 780 积分 1,608

但是怕你不同文件夹下面有重名的文件!
以上代码没有考虑出现这种事情的可能性!
第6楼 abcd 发表于 2008-03-10 19:39
银牌会员 发帖 739 积分 1,436
第7楼 plp626 发表于 2008-03-10 20:36
银牌会员 发帖 1,020 积分 2,278
新人和我们一样懒

这是那个链接网页的内容,不会把同名文件覆盖:

将D:\music1\ D:\music2\ D:\music3\目录的*.mp3文件要移动到U盘(G:\music)下:(若是拷贝将move直接换为copy)
CODE:
--------------------------------------------------------------------------------

@echo off&setlocal enabledelayedexpansion
set "file=music1\*.mp3 music2\*.mp3 music3\*.mp3"
set "drive=D:\"
set "U=G:\music\"
for /r "%drive%" %%a in (%file%) do (
if exist "!U!%%~nxa" call :re "%%~na" "%%~xa"
move "%%a" "!U!%%~na!n!%%~xa"
)
goto :eof
:re
set "n=1"
:loop
if exist "!U!%~1_%n%%~2" set/a n+=1&goto loop
set "n=_%n%"&goto :eof
将D:盘内的所有(包括子目录内的)mp3文件copy到...
CODE:
--------------------------------------------------------------------------------

@echo off&setlocal enabledelayedexpansion
set "file=*.mp3"
set "drive=D:\"
set "U=G:\music\"
for /r "%drive%" %%a in (%file%) do (
if exist "!U!%%~nxa" call :re "%%~na" "%%~xa"
move "%%a" "!U!%%~na!n!%%~xa"
)
goto :eof
:re
set "n=1"
:loop
if exist "!U!%~1_%n%%~2" set/a n+=1&goto loop
set "n=_%n%"&goto :eof
未测试.
若有疑问请到下面的帖子跟帖:

http://www.cn-dos.net/forum/view ... ge=1&highlight=
第8楼 mfdcxnf 发表于 2008-03-10 20:59
初级用户 发帖 74 积分 155
谢谢各位,学习了,其实也不是我懒,主要是我搜了好多次也没有找到。再次说声谢谢!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023