中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-04 18:26
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]搜索指定目录名称为数字的文件夹,并列出来。 查看 909 回复 5
楼 主 [求助]搜索指定目录名称为数字的文件夹,并列出来。 发表于 2007-05-25 15:50 ·  中国 广东 珠海 电信
初级用户
积分 51
发帖 20
注册 2007-05-25 10:39
19年会员
UID 89247
性别 男
状态 离线
提2个问题,希望高手解答,谢谢:

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

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

谢谢。

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

[ Last edited by zmt1982 on 2007-5-25 at 03:52 PM ]
2 发表于 2007-05-25 16:39 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
1

dir /ad/b "%programfiles%\tencent\qq"|findstr /r /c:"^*$"


第2个问题,搜索指定的文件名,在哪里搜索?指定的路径下么?
3 发表于 2007-05-25 16:40 ·  中国 浙江 杭州 联通
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
dir /ad /b|findstr "^*$"


类似这样

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

[ Last edited by wudixin96 on 2007-5-25 at 04:44 PM ]
4 发表于 2007-05-25 16:40 ·  中国 新疆 乌鲁木齐 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
19年会员
UID 80606
性别 男
状态 离线
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>
5 发表于 2007-05-25 16:56 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
这个是你的代码:
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太臃肿了......
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
zhoushijay +2 2007-05-25 17:19
6 发表于 2007-05-25 17:19 ·  中国 新疆 乌鲁木齐 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
19年会员
UID 80606
性别 男
状态 离线
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>
论坛跳转: