中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-13 00:15
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何查找文件夹里面的文件夹 查看 1,002 回复 3
楼 主 如何查找文件夹里面的文件夹 发表于 2010-01-12 11:24 ·  中国 广东 深圳 电信
新手上路
积分 4
发帖 4
注册 2010-01-10 23:26
16年会员
UID 158404
性别 男
状态 离线
我用下面的不成功
@ ECHO OFF
for /f "delims=" %%i in ('dir /ad "d:\*.* \a*" ') do xcopy d:\"%%i" "e:\ls\%%~ni\" /y /e
PAUSE
就是光盘里面有几个文件夹,这几个文件夹里面有很多文件,就是要提取这几个文件夹里面符合要求的文件夹,而且要保留原有的目录结构,上面的代码应该如何改呢。
2 发表于 2010-01-12 14:20 ·  中国 上海 杨浦区 电信
初级用户
积分 49
发帖 42
注册 2009-11-26 04:39
16年会员
UID 155365
性别 男
状态 离线
@echo off
for /d %%a in (d:\*) do (
if exist "%%a\a*" (
for /d %%b in ("%%a\a*") do xcopy "%%b" "e:\ls\%%~nb\" /y /e
)
)
pause


[ Last edited by 000000000000000 on 2010-1-12 at 14:21 ]
3 发表于 2010-01-12 15:03 ·  中国 广东 深圳 电信
新手上路
积分 4
发帖 4
注册 2010-01-10 23:26
16年会员
UID 158404
性别 男
状态 离线
你这个代码好像把上层的目录没有拷贝出来哦。比如我的D盘有AS、AB 、C1三个目录AS里有AA1、AA2、3三个目录,AB里面有A1、A2、两个目录C1里面有B1一个目录。我要达到的功能是:要把AA1、AA、2、A1、A2查找出来然后拷贝到只定目录,上面的代码实现了这个功能,但是没有把AS、AB这两个第一层的目录拷贝过去也就是这两个目录结果也要过去。如果要拷贝第一层的如何做呢。
4 发表于 2010-01-12 17:37 ·  中国 上海 杨浦区 电信
初级用户
积分 49
发帖 42
注册 2009-11-26 04:39
16年会员
UID 155365
性别 男
状态 离线
是否这个意思:
d:\1\a1
d:\1\a2
d:\2\b

最终结果:
e:\ls\1\a1
e:\ls\1\a2

如果是,代码为:
@echo off
for /d %%a in (d:\*) do (
if exist "%%a\a*" (
for /d %%b in ("%%a\a*") do xcopy "%%b" "e:\ls\%%~nxa\%%~nxb\" /y /e
)
)
pause
论坛跳转: