中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]用dir /s搜索文件夹的问题
作者:
标题: [求助]用dir /s搜索文件夹的问题 上一主题 | 下一主题
bigfaint
初级用户





积分 70
发帖 30
注册 2008-1-17
状态 离线
『楼 主』:  [求助]用dir /s搜索文件夹的问题

我知道用dir /s可以搜索,例如我键入dir /s c:\temp就会在c盘下搜索所有的temp文件夹。但是如果c盘根目录下有temp文件夹,那么它就会显示这个文件夹里面的文件,而不会显示别的了。

如何避免这个情况?

2008-4-10 15:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 2 楼』:  

dir/s
是以某个目录为根进行搜索的!
所以你的说法不对

2008-4-10 15:07
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
bigfaint
初级用户





积分 70
发帖 30
注册 2008-1-17
状态 离线
『第 3 楼』:  

楼上的说的对,但毕竟我们一般都是拿来做搜索用的不是吗?那我就改个说法好了,加入我需要搜索c盘下temp文件夹,目前我的c盘根目录下有一个temp文件夹,那么我需要怎么写呢?

[ Last edited by bigfaint on 2008-4-10 at 03:14 PM ]

2008-4-10 15:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
balinger
中级用户




积分 356
发帖 115
注册 2004-7-27
状态 离线
『第 4 楼』:  

@echo off

for /r c:\ %%i in (".") do if exist %%~pditemp\ echo %%~pditemp

pause

2008-4-10 15:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 5 楼』:  

dir/s/ad c:\temp



致精致简!
2008-4-10 16:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bigfaint
初级用户





积分 70
发帖 30
注册 2008-1-17
状态 离线
『第 6 楼』:  

如果我有c:\temp这个文件夹,用dir/s/ad c:\temp,得到的结果是

C:\>dir/s/ad c:\temp
驱动器 C 中的卷没有标签。
卷的序列号是 3C1B-5AEF

c:\temp 的目录

2008-01-30  13:06    <DIR>          .
2008-01-30  13:06    <DIR>          ..
               0 个文件              0 字节

     所列文件总数:
               0 个文件              0 字节
               2 个目录  6,034,468,864 可用字节

如果我没有c:\temp这个文件夹,执行这个命令的结果是
C:\>dir/s/ad c:\temp
驱动器 C 中的卷没有标签。
卷的序列号是 3C1B-5AEF

c:\backup 的目录

2008-04-10  14:36    <DIR>          temp
               0 个文件              0 字节

c:\Documents and Settings\Administrator\Local Settings 的目录

2008-02-28  17:51    <DIR>          Temp
               0 个文件              0 字节

c:\Documents and Settings\All Users\Application Data\Microsoft\Search\D

....(以下省略)

2008-4-10 17:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bigfaint
初级用户





积分 70
发帖 30
注册 2008-1-17
状态 离线
『第 7 楼』:  

to 4楼
用for的方法我也知道,不过我想了解一下能不能用dir /s解决这个问题,dir /s到底是怎么工作的

2008-4-10 17:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 8 楼』:  

dir/b/s/ad c:\temp



致精致简!
2008-4-10 18:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bigfaint
初级用户





积分 70
发帖 30
注册 2008-1-17
状态 离线
『第 9 楼』:  

...请试过再发贴好不好?

2008-4-11 09:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 10 楼』:  

这个问题曾经困扰了我很久,下面的代码是在论坛里多位高手的帮助下完成的,希望合你的意:
@echo off
:aa
echo.
echo 如果为中文目录,请在文件夹名前加上"\"
echo.
set /p aa=请输入要查找的文件夹(CC退出):
if "%aa%"=="CC" exit /b
for %%a in (c d e f) do (
for /f "delims=" %%i in ('dir /a /s /ad /b "%%a:\*" 2^>nul^|findstr /i /e "\%aa%"') do (
echo "%%i"
)
)
echo.&pause&cls&goto aa


2008-4-11 11:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: