最近作品较多,随便发一个,写得不好,见笑~!
目前没有提供注册表的操作功能。
这个程序还是太多临时文件,没办法,初稿,经常要检查运行状态和结果,没有临时文件不行。
比较懒,不改了,觉得临时文件也没多大坏处!~
- @echo off
- echo.
- echo 卸载小工具 @xp
- echo.
- echo by:甲兵时代 http://hi.baidu.com/cjiabing
- echo.
- echo 本工具读取根目录和注册表中的卸载信息,并且能根据需要找出卸载程序
- echo 如果你需要卸载某个程序,请执行弹出的卸载程序,不需要请点取消。
- echo 小心使用,以免错误卸载重要程序!
- echo.
- pause
- ok
- echo.
- call ok1
- call ok2
- exit
- ok1
- echo.
- echo 1、查找根目录中的反安装程序
- echo.
- echo 请稍后……
- dir /s /b "%SYSTEMDRIVE%\un*.exe" >>uninst0.txt
- echo. >>uninst0.txt
- findstr /n .* uninst0.txt >>uninst0.txt
- :hang
- type uninst0.txt
- echo.
- echo.
- set /p hang=★请输入需要卸载路径前面的【序号】(退出请输入 b ):
- for /f "tokens=3* delims=:" %%i in ('findstr /b "%hang%" uninst0.txt') do start %SYSTEMDRIVE%"%%~i"%%~j
- cls
- if %hang% == b del uninst0.txt & goto :eof
- if not %hang% == b goto hang
- ok2
- echo.
- echo 2、查找注册表中的反安装信息
- echo.
- echo 请稍后……
- reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall" /s >>uninst.txt
- echo. >>uninst.txt
- echo. ◆◇◆◇◆ ◆◇◆◇◆ ◆◇◆◇◆ ◆◇◆◇◆ >>uninst.txt
- echo. >>uninst.txt
- reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s >>uninst.txt
- :cha
- echo.
- set /p inf=★请输入需要查找的卸载程序【名称】(退出请输入 b ):
- if %inf% == b del uninst1.txt,uninst.txt & exit
- echo.
- echo ☆以下是查询到的信息:
- echo.
- find /i "%inf%" uninst.txt
- echo.
- echo ☆以下是提取到的路径:
- echo.
- for /f "tokens=3,*" %%i in ('find /i "%inf%" uninst.txt') do echo %%i %%j >>"%inf%".txt
- echo. >>"%inf%".txt
- findstr /n .* "%inf%".txt >>"%inf%".txt
- echo.
- echo ☆以上 un 开头的是可以卸载的程序: >>"%inf%".txt
- echo.
- type "%inf%".txt
- echo.
- echo.
- set /p hang=★请输入需要卸载路径前面的【序号】(退出请输入 b ):
- for /f "tokens=2 delims=: " %%i in ('findstr /b "%hang%" "%inf%".txt') do echo %%~i>>nul &for /f "tokens=3 delims=:" %%a in ('findstr /b "%hang%" "%inf%".txt') do call "%%~i:%%~a"
- echo.
- cls
- del "%inf%".txt
- if %inf% == b del uninst.txt & exit
- if not %inf% == b goto cha
复制代码
[ 本帖最后由 cjiabing 于 2009-6-9 17:51 编辑 ] |