标题: 有什么办法查找出某个软件的路径
[打印本页]
作者: wwx0423
时间: 2009-2-23 17:33
标题: 有什么办法查找出某个软件的路径
比如说 公司有 100台电脑, 有一个绿色软件,运行这个软件后他会自动在注册表里添加启动项。现在我想删除这个软件。但是100台计算机中路径各不一样。 我想用 批处理 来抓取路径然后删除这个软件,并且用 reg del 来删除注册表的键值。。 有什么办法可以用批处理抓取软件的路径吗? (加第三方软件的话需要什么软件?)
————————————————————————————————
转移自 DOS疑难解答 & 问题讨论 (解答室)
明显发错版块。因属论坛新手,故暂不予以处罚,望今后引起注意。
——管理员
————————————————————————————————
作者: HAT
时间: 2009-2-23 18:03
用 reg query 命令读那个注册表键值即可
作者: wwx0423
时间: 2009-2-23 18:52
但是读取的键值是有问题的呀。 比如
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
feiQ REG_SZ "d:\feiq.exe" /startup
我输出后是这样的啊? 还要从那么多文字中取出他 d:\feiq.exe 那不是更麻烦?
我想实现的是。 脚本自动查找到路径后删除它。 因为有的人放D盘,有的人可能 放的文件路径很深。。
作者: everest79
时间: 2009-2-23 18:58
按你所说的,那也很麻烦还是算了吧
作者: HAT
时间: 2009-2-23 21:10
标题: Re 3楼
从reg query的结果中提取字符串是很简单的,你认为简单的全盘搜索是比较复杂的。
作者: wwx0423
时间: 2009-2-24 09:21
for /f "delims=" %%a in ('dir /s/b *.txt') do @echo %%~pnxa>>D:\mycomputer\Desktop\eaton\list.txt
今天在 论坛里看到这个指令。 用这个能查找到。 谢谢各位。
作者: HAT
时间: 2009-2-24 11:23
标题: Re 6楼
如果是500GB的硬盘,分成10个分区,你可以试试这个方案效率如何。
作者: wwx0423
时间: 2009-2-24 11:49
因为这个是绿色软件, 很多人 磁盘里到处都是, 每个用户帐户下一个或多个,单单从 注册表里看 只能看到一个路径下。
我现在是这样做的。 毕竟环境不同,有的人计算机有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
作者: wwx0423
时间: 2009-2-24 11:52
公司已经明文不准使用这个了,。 因为公司有 OC 。
但是这个软件 因为会自动写注册表,如果是从邮箱里直接运行的这个软件,它还会自动复制到 TEMP 里面 而且一直存在TEMP里, 计算机一开就自动启动 ,公司很多人都不用它,可它还是会自动运行。 如果要我们一台一台去删, 全公司 4000多电脑啊。 最少也有一半人 计算机有 这个飞秋 而不会删的。
作者: HAT
时间: 2009-2-24 13:42
标题: Re 9楼
遍历C~Z盘,用一个for即可,搜索一下“全盘”,能够找到不少例子。
作者: lxmxn
时间: 2009-2-26 06:14
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:\>
作者: dslz666
时间: 2009-2-26 08:29
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 ]
作者: Hanyeguxing
时间: 2009-3-3 19:15
无论这个程序是否是绿色的,只要他运行过,你就可以在hkcu\Software\Microsoft\Windows\ShellNoRoam\MUICache下看到他
作者: QOIQoc
时间: 2009-3-7 02:03
用
reg query hkcu\Software\Microsoft\Windows\ShellNoRoam\MUICache|find /i "飞秋FeiQ.exe"
如何读取键名?
作者: Numberone
时间: 2009-3-7 05:29
感觉超难的样子啊!!!
作者: ggn102
时间: 2009-3-11 22:49
我不知楼主的意思是怎么个删法.一般情况下,我直接用
del /s/q/f d:\飞秋FeiQ.exe
del /s/q/f c:\飞秋FeiQ.exe
因为这样删除个个子目录下的这个文件了