中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]搜索指定目录名称为数字的文件夹,并列出来。
作者:
标题: [求助]搜索指定目录名称为数字的文件夹,并列出来。 上一主题 | 下一主题
zmt1982
初级用户





积分 51
发帖 20
注册 2007-5-25
状态 离线
『楼 主』:  [求助]搜索指定目录名称为数字的文件夹,并列出来。

提2个问题,希望高手解答,谢谢:

1. 搜索指定目录内名称为数字的文件夹。并列出来,这个批处理怎么写?(只要名称,不要路径)

2.搜索指定的文件名,并把这个文件名所有所在的文件夹名列出来。只要文件夹名称,全不要路径。

谢谢。

告诉大家我的作用吧,我这么做其实是想搜索QQ目录内的数字文件夹,然后列出这台电脑有那些QQ上过。

[ Last edited by zmt1982 on 2007-5-25 at 03:52 PM ]

2007-5-25 15:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

1
dir /ad/b "%programfiles%\tencent\qq"|findstr /r /c:"^[0-9]*$"
第2个问题,搜索指定的文件名,在哪里搜索?指定的路径下么?

2007-5-25 16:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 3 楼』:  


dir /ad /b|findstr "^[0-9]*$"
类似这样

没见到版主已经回了。当灌水了。呵呵

[ Last edited by wudixin96 on 2007-5-25 at 04:44 PM ]

2007-5-25 16:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 4 楼』:  

VBS版 以前的代码稍微改了下
dim fso,finm,all
set ws=wscript.createobject("wscript.shell")
set fso=createobject("scripting.filesystemobject")

QQpath=ws.regread ("HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ\Install")
set flnm=fso.getfolder(QQpath)
set all=flnm.subfolders


for each path in all
    dim fs,fnm
    set fs=createobject("scripting.filesystemobject")
    fnm=fs.getfilename(path)

    on error resume next
    fnm=int(fnm)
    if err.number<>13 then
       dim list
       list=list&fnm&chr(10)
    end if
next
msgbox "已登陆过的QQ号码:"&chr(10)&list,vbinformation,"清除QQ账号存留文件"




你好,脚本专家!
<a target=blank href=tencent://message/?uin=29654761&Site=www.111.com&Menu=yes><img border="0" SRC=http://wpa.qq.com/pa?p=1:29654761:5 alt="点击这里给我发消息"></a>
2007-5-25 16:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  

这个是你的代码:
Dim fso,finm,all
Set ws = wscript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

QQpath = ws.regread ("HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ\Install")
Set flnm = fso.getfolder(QQpath)
Set all = flnm.subfolders


For Each path In all
    Dim fs,fnm
    Set fs = CreateObject("Scripting.FileSystemObject")
    fnm = fs.getfilename(path)

    on Error Resume Next
    fnm = Int(fnm)
    If Err.Number <> 13 Then
        Dim list
        list = list & fnm & Chr(10)
    End If
Next
MsgBox "已登陆过的QQ号码:" & Chr(10) & list,vbinformation,"清除QQ账号存留文件"


看看"稍微"修改的结果:
Dim fso,finm,all
Set ws = wscript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

QQpath = ws.regread ("HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ\Install")
Set flnm = fso.getfolder(QQpath)
Set all = flnm.subfolders


For Each path In all
    Dim fnm,list
    fnm = path.name
    'set fs=createobject("Scripting.FileSystemObject")
    'fnm=fs.getfilename(path)
    'on error resume next
    If IsNumeric(fnm) Then  list = list & fnm & vbLf
    'end if
Next
MsgBox "已登陆过的QQ号码:" & vbLf & list,vbinformation,"清除QQ账号存留文件"

Set all = Nothing
Set flnm = Nothing
Set fso = Nothing
Set ws = Nothing

你的For Each path In all太臃肿了......

   此帖被 +2 点积分     点击查看详情   
评分人:【 zhoushijay 分数: +2  时间:2007-5-25 17:19


2007-5-25 16:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 6 楼』:  

IsNumeric  哈哈,又学到一个,谢谢



你好,脚本专家!
<a target=blank href=tencent://message/?uin=29654761&Site=www.111.com&Menu=yes><img border="0" SRC=http://wpa.qq.com/pa?p=1:29654761:5 alt="点击这里给我发消息"></a>
2007-5-25 17:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: