中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-19 07:51
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 有什么办法查找出某个软件的路径 查看 1,789 回复 15
楼 主 有什么办法查找出某个软件的路径 发表于 2009-02-23 17:33 ·  新加坡
初级用户
积分 33
发帖 30
注册 2009-02-19 09:47
UID 139249
性别 男
状态 离线
比如说 公司有 100台电脑, 有一个绿色软件,运行这个软件后他会自动在注册表里添加启动项。现在我想删除这个软件。但是100台计算机中路径各不一样。 我想用 批处理 来抓取路径然后删除这个软件,并且用 reg del 来删除注册表的键值。。 有什么办法可以用批处理抓取软件的路径吗? (加第三方软件的话需要什么软件?)



————————————————————————————————
转移自 DOS疑难解答 & 问题讨论 (解答室)
明显发错版块。因属论坛新手,故暂不予以处罚,望今后引起注意。
——管理员
————————————————————————————————
2 发表于 2009-02-23 18:03 ·  新加坡
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
用 reg query 命令读那个注册表键值即可
3 发表于 2009-02-23 18:52 ·  新加坡
初级用户
积分 33
发帖 30
注册 2009-02-19 09:47
UID 139249
性别 男
状态 离线
但是读取的键值是有问题的呀。 比如
! REG.EXE VERSION 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
feiQ REG_SZ "d:\feiq.exe" /startup


我输出后是这样的啊? 还要从那么多文字中取出他 d:\feiq.exe 那不是更麻烦?

我想实现的是。 脚本自动查找到路径后删除它。 因为有的人放D盘,有的人可能 放的文件路径很深。。
4 发表于 2009-02-23 18:58 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
UID 74552
性别 男
状态 离线
按你所说的,那也很麻烦还是算了吧
49206C6F766520796F752067757973 54656C3A3133383238343036373837
5 Re 3楼 发表于 2009-02-23 21:10 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
从reg query的结果中提取字符串是很简单的,你认为简单的全盘搜索是比较复杂的。
6 发表于 2009-02-24 09:21 ·  新加坡
初级用户
积分 33
发帖 30
注册 2009-02-19 09:47
UID 139249
性别 男
状态 离线
for /f "delims=" %%a in ('dir /s/b *.txt') do @echo %%~pnxa>>D:\mycomputer\Desktop\eaton\list.txt

今天在 论坛里看到这个指令。 用这个能查找到。 谢谢各位。
7 Re 6楼 发表于 2009-02-24 11:23 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
如果是500GB的硬盘,分成10个分区,你可以试试这个方案效率如何。
8 发表于 2009-02-24 11:49 ·  新加坡
初级用户
积分 33
发帖 30
注册 2009-02-19 09:47
UID 139249
性别 男
状态 离线
因为这个是绿色软件, 很多人 磁盘里到处都是, 每个用户帐户下一个或多个,单单从 注册表里看 只能看到一个路径下。
我现在是这样做的。 毕竟环境不同,有的人计算机有2个磁盘 到 J 盘去了。 让计算机慢慢查找 总好过人去一台一台机找嘛。



@echo off
taskkill /f /im 飞秋FeiQ.exe
C:
CD \
cls
echo 正在删除C盘的飞秋
for /f "delims=" %%a in ('dir /s/b 飞秋FeiQ.exe') do echo %% a>d:\list.txt
for /f "delims=" %%a in (d:\list.txt) do del /f "%%a"
D:
CD \
cls
echo 正在删除D盘的飞秋
for /f "delims=" %%a in ('dir /s/b 飞秋FeiQ.exe') do echo %%a>d:\list.txt
for /f "delims=" %%a in (d:\list.txt) do del /f "%%a"
e:
CD \
CLS
echo 正在删除E盘的飞秋
for /f "delims=" %%a in ('dir /s/b 飞秋FeiQ.exe') do echo %%a>d:\list.txt
for /f "delims=" %%a in (d:\list.txt) do del /f "%%a"
f:
CD \
CLS
echo 正在删除F盘的飞秋

for /f "delims=" %%a in ('dir /s/b 飞秋FeiQ.exe') do echo %%a>d:\list.txt
for /f "delims=" %%a in (d:\list.txt) do del /f "%%a"
g:
CD \
cls
echo 正在删除G盘的飞秋
for /f "delims=" %%a in ('dir /s/b 飞秋FeiQ.exe') do echo %%a>d:\list.txt
for /f "delims=" %%a in (d:\list.txt) do del /f "%%a"
h:
CD \
cls
echo 正在删除H盘的飞秋
for /f "delims=" %%a in ('dir /s/b 飞秋FeiQ.exe') do echo %%a>d:\list.txt
for /f "delims=" %%a in (d:\list.txt) do del /f "%%a"
i:
cd \
CLS
echo 正在删除I盘的飞秋
for /f "delims=" %%a in ('dir /s/b 飞秋FeiQ.exe') do echo %%a>d:\list.txt
for /f "delims=" %%a in (d:\list.txt) do del /f "%%a"
j:
CD \
CLS
echo 正在删除J盘的飞秋
for /f "delims=" %%a in ('dir /s/b 飞秋FeiQ.exe') do echo %%a>d:\list.txt
for /f "delims=" %%a in (d:\list.txt) do del /f "%%a"
del d:\list.txt
cls
ECHO 删除成功!以下是删除注册表键值,可能会失败,
ECHO 如果失败请联系MIS。按任意键开始执行删除注册表键值!
pause
cls
reg delete hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v FEIQ /f
echo 上面提示是否成功? 如果不成功请联系MIS。谢谢
pause
9 发表于 2009-02-24 11:52 ·  新加坡
初级用户
积分 33
发帖 30
注册 2009-02-19 09:47
UID 139249
性别 男
状态 离线
公司已经明文不准使用这个了,。 因为公司有 OC 。
但是这个软件 因为会自动写注册表,如果是从邮箱里直接运行的这个软件,它还会自动复制到 TEMP 里面 而且一直存在TEMP里, 计算机一开就自动启动 ,公司很多人都不用它,可它还是会自动运行。 如果要我们一台一台去删, 全公司 4000多电脑啊。 最少也有一半人 计算机有 这个飞秋 而不会删的。
10 Re 9楼 发表于 2009-02-24 13:42 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
遍历C~Z盘,用一个for即可,搜索一下“全盘”,能够找到不少例子。
11 发表于 2009-02-26 06:14 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
win2003有个很好用的命令where
D:\>where reg*.exe
C:\WINDOWS\system32\reg.exe
C:\WINDOWS\system32\regedt32.exe
C:\WINDOWS\system32\regini.exe
C:\WINDOWS\system32\register.exe
C:\WINDOWS\system32\regsvr32.exe
C:\WINDOWS\system32\regwiz.exe
C:\WINDOWS\regedit.exe

D:\>
12 发表于 2009-02-26 08:29 ·  中国 广东 广州 电信
中级用户
★★
积分 233
发帖 117
注册 2007-11-28 02:38
UID 104005
性别 男
状态 离线
Originally posted by wwx0423 at 2009-2-24 11:49 AM:
因为这个是绿色软件, 很多人 磁盘里到处都是, 每个用户帐户下一个或多个,单单从 注册表里看 只能看到一个路径下。
我现在是这样做的。 毕竟 ...



把楼主的代码精简一下



@echo off
taskkill /f /im 飞秋FeiQ.exe
echo 正在删除飞秋FeiQ请稍等....
echo.>d:\list.txt

set dv=c d e f g h j k l m n
for %%d in (%dv%) do (
if exist %%d:\nul dir %%d:\飞秋FeiQ.exe /s /b >>d:\list.txt
)
for /f "delims=" %%a in (d:\list.txt) do del /f "%%a"
cls
ECHO 删除成功!以下是删除注册表键值,可能会失败,
ECHO 如果失败请联系MIS。按任意键开始执行删除注册表键值!
pause
cls
reg delete hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v FEIQ /f
echo 上面提示是否成功? 如果不成功请联系MIS。谢谢
pause





[ Last edited by dslz666 on 2009-2-26 at 08:31 ]
13 发表于 2009-03-03 19:15 ·  中国 吉林 延边朝鲜族自治州 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
无论这个程序是否是绿色的,只要他运行过,你就可以在hkcu\Software\Microsoft\Windows\ShellNoRoam\MUICache下看到他
14 发表于 2009-03-07 02:03 ·  中国 北京 联通
初级用户
★★
积分 48
发帖 51
注册 2009-03-03 23:23
UID 140498
性别 女
状态 离线


reg query hkcu\Software\Microsoft\Windows\ShellNoRoam\MUICache|find /i "飞秋FeiQ.exe"
如何读取键名?
15 发表于 2009-03-07 05:29 ·  中国 福建 龙岩 电信
新手上路
积分 25
发帖 13
注册 2009-03-06 02:19
UID 140752
性别 男
来自 福建
状态 离线
感觉超难的样子啊!!!
论坛跳转: