中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-13 07:01
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS学习入门 & 精彩文章 (教学室) » 搜索指定盘条符下的所有可执行文件
可打印版本  6,342 / 41
第16楼 3742668 发表于 2006-10-21 00:50
荣誉版主 发帖 718 积分 2,013

不要drive='d:' and 则全盘搜索。
第17楼 lxmxn 发表于 2006-10-21 01:03
版主 发帖 4,938 积分 11,386
C:\Documents and Settings\Administrator>wmic datafile where "extension='exe'" get caption
错误:
代码 = 0x80020009
说明 = 发生意外。
设备 = Dispatch


  怎么回事?
第18楼 3742668 发表于 2006-10-21 01:44
荣誉版主 发帖 718 积分 2,013
指定盘符能正常显示么?
第19楼 zerocq 发表于 2006-10-21 01:58
中级用户 发帖 196 积分 458
指定盘符可以正常显示
第20楼 lxmxn 发表于 2006-10-21 02:02
版主 发帖 4,938 积分 11,386


C:\>wmic datafile where "drive='c:' and extension='exe'" get caption

c:\windows\system32\wuauclt.exe

c:\windows\system32\wuauclt1.exe

c:\windows\system32\wupdmgr.exe

………………………………中间省略………………………………

c:\windows\system32\xcopy.exe

c:\windows\taskman.exe

c:\windows\temp\alcrmv.exe

c:\windows\temp\alcupd.exe

c:\windows\temp\chcfg.exe

c:\windows\temp\rtlcpl.exe

c:\windows\temp\soundman.exe

c:\windows\twunk_16.exe


  
           这样可以。。
第21楼 3742668 发表于 2006-10-21 02:03
荣誉版主 发帖 718 积分 2,013
我这里一切正常,怀疑前面有过涉及到wmi方面的操作,而系统还没断开wmi的连接.
清理内存或重启了再试试.
第22楼 zerocq 发表于 2006-10-21 02:04
中级用户 发帖 196 积分 458
MS wimc的效率...不太高>.<
第23楼 3742668 发表于 2006-10-21 02:04
荣誉版主 发帖 718 积分 2,013
Time到了,闪人了
试的时候可以先换成ini或者bat后缀试试.
第24楼 abenmao 发表于 2006-10-22 03:26
新手上路 发帖 6 积分 12 来自 jiang xi
使用LOCATE.COM这个免费软件很容易做到
此软件在 http://www.highfiber.com/~raster/freeware.htm 有下

简单来说,这个软件最大的特色就是能够对找到的文件进行各种处理
功能太强了,具体请参见软件的帮助
只要将locate.com拷到WINDOWS\SYSTEM32目录下,那么就可以在批处理随意调用了
对于查找硬盘上的EXE文件,然后删除,可以这样用 (以C盘为例)
locate c: *.exe /n /np /k /y
或 locate c:\*.exe /n /np /k /y

参数解释: /n: 将找所的文件以完整路径显示
/np: 显示时不按页停顿,即连续显示
/k: 将找到的文件删除
/y: 直接删除,不需回答YES
(注意:locate默认是从根目录开始搜索,并用自动搜索所以子目录及所以分区
也就是说 locate *.exe 将会搜索所有分区所有目录中的EXE文件
再者,参数大小写不分

)

如果要找几个分区上的文件
locate c: d: f: *.exe /n /np /k /y

如果不要搜索子目录,则加上 /nr参数
如果只是搜索硬盘而不想搜索光驱、软驱、USB盘,则加上参数 /r
举例: locate c:\windows\*.exe /nr 则只搜索c:\windows目录

如果你想搜索到某一特定文件就停止搜索,可以使用参数 /f:n n为数字,表示要搜索几个
举例: locate c:\windows\explorer.exe /f:2 在c:\windows及其子目录中搜索explorer.exe,当搜索到2个时就停止

总之,这个软件太强了,下面附上1个批处理,以供参考
*****************************************************
功能:
- 按所指定文件的年龄,对windows系统所在的根目录,"windows",
"program files" "Documents and Settings"下及其子目录下的
EXE,DLL和SYS文件进行更名
输入 rn 不带参数就可以显示此处理的用法
*****************************************************
@echo off
if "%1"=="" goto help0
::
locate c: d: e: f: g: \*.exe /R /NR /b1"rename" /d:t-%1,t > rnexe.bat
locate c: d: e: f: g: \*.dll /R /NR /b1"rename" /d:t-%1,t > rndll.bat
locate c: d: e: f: g: \*.sys /R /NR /b1"rename" /d:t-%1,t > rnsys.bat
::
locate c: d: e: f: g: \winnt\*.exe /R /b1"rename" /d:t-%1,t >> rnexe.bat
locate c: d: e: f: g: \winnt\*.dll /R /b1"rename" /d:t-%1,t >> rndll.bat
locate c: d: e: f: g: \winnt\*.sys /R /b1"rename" /d:t-%1,t >> rnsys.bat
::
locate c: d: e: f: g: \windows\*.exe /R /b1"rename" /d:t-%1,t >> rnexe.bat
locate c: d: e: f: g: \windows\*.dll /R /b1"rename" /d:t-%1,t >> rndll.bat
locate c: d: e: f: g: \windows\*.sys /R /b1"rename" /d:t-%1,t >> rnsys.bat
::
locate c: d: e: f: g: \progra~1\*.exe /R /b1"rename" /d:t-%1,t >> rnexe.bat
locate c: d: e: f: g: \progra~1\*.dll /R /b1"rename" /d:t-%1,t >> rndll.bat
::
locate c: d: e: f: g: \docume~1\*.exe /R /b1"rename" /d:t-%1,t >> rnexe.bat
locate c: d: e: f: g: \docume~1\*.dll /R /b1"rename" /d:t-%1,t >> rndll.bat
::
call rnexe.bat *.eee
call rndll.bat *.ddd
call rnsys.bat *.sss
echo ... >log.txt
echo rnexe.bat >>log.txt
echo rndll.bat >>log.txt
echo rnsys.bat >>log.txt
goto end0
::
:help0
cls
@echo ***********************************************************************
@echo 功能描述
@echo - 按所指定文件的年龄,对windows系统所在的根目录,"windows",
@echo "program files" "Documents and Settings"下及其子目录下的
@echo EXE,DLL和SYS文件进行更名
@echo ***********************************************************************
@echo 用法
@echo - rn 文件相对当前日期的年龄
@echo 举例如下
@echo rn 0: 只对今天生成的EXE,DLL,SYS等文件进行更名
@echo rn 1: 将今天及昨天生成的EXE,DLL,SYS等文件进行更名
:end0
@echo ***********************************************************************
@echo 文件的变动情况请参见log.txt
@echo.
:end0
第25楼 abenmao 发表于 2006-10-22 03:35
新手上路 发帖 6 积分 12 来自 jiang xi
使用LOCATE.COM这个免费软件很容易做到 (补充)
对于要删除指定日期内的EXE
locate c: *.exe /n /np /k /y /d:t! 只删除今天生成的EXE
locate c: *.exe /n /np /k /y /d:t-5 删除从5天前到今天所有生成的EXE文件
locate c: *.exe /n /np /k /y /d:t-5,t-2 删除在5天前到2天前之间所生成的EXE文件
locate c: *.exe /n /np /k /y /d:2006-10-18,2006-10-20 删除2006年10月18到20日之间所生成的EXE文件 (日期的格式需要根据系统的设置而有所调整)
第26楼 redtek 发表于 2006-10-22 03:35
金牌会员 发帖 1,147 积分 2,902
精彩~:)
第27楼 vkill 发表于 2006-10-22 03:44
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
LOCATE.COM

看起来很好~
第28楼 lxmxn 发表于 2006-10-22 06:15
版主 发帖 4,938 积分 11,386

  用这个小工具解决楼主的问题容易多了。
  
  下载来玩玩~
第29楼 af01 发表于 2006-11-02 10:39
初级用户 发帖 10 积分 20
请问一下,上面的那个"输入搜索的盘符"可不可以是多个?
第30楼 Thewindeagle 发表于 2006-11-02 12:10
新手上路 发帖 9 积分 18 来自 湖南
没有看出。哪一行是指向全盘的?是全盘还是指向固定的位置?
上一页  1 2 3  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023