bat想要写一个卸载软件的脚本,最后宣布失败[未完待续...]

Posted 学习,思考,总结,分享

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat想要写一个卸载软件的脚本,最后宣布失败[未完待续...]相关的知识,希望对你有一定的参考价值。

find 的用法:双引号,搜索内容是英文也要用双引号

C:\Users\clouder\Desktop\yanna>find '小智' products.txt
FIND: 参数格式不正确

C:\Users\clouder\Desktop\yanna>find "小智" products.txt

---------- PRODUCTS.TXT
0               亦云小智                                                        亦云小智                                                                                                                          {4CE4A510-3639-4F21-9E87-E33D6912DCD6}  20190307                   C:\powerdude\                                  C:\Users\clouder\AppData\Roaming\Onecloud\亦云小智 2.8.0\install\912DCD6\                                            5             2052      C:\WINDOWS\Installer\815ced0.msi   亦云小智                                                        C:\WINDOWS\Installer\815ced0.msi   {6C1B9C22-7F3B-4E80-90B3-F18B24935F7C}  亦云小智.msi                                                                                                                                                                                                                                                        Onecloud                2.8.0           0

wmic Microsoft Management Instrument Console

echo %~dp0
C:\Users\clouder\Desktop\yanna>wmic /output:%~dp0products.txt product

rem 获得包含"小智"一行的内容
find "小智" products.txt>find.txt

本来想写个bat卸载指定第三方软件,最后失败告终,觉得bat语法很奇怪,不好理解啊。
思路:
1.用wmic命令查到所有已安装产品信息并导出到products.txt

wmic /output:%~dp0products.txt product

2.在products.txt 中找到包含“小智”关键字的行

find "小智" products.txt>find.txt
type find.txt

3.在find.txt中有2行,第一行是不想要的内容,要的是第2行第10列的内容,不知道怎么取到。在linux下就会用sed -d ‘1p‘; awk -F ‘ ‘ ‘{print $10}‘拿到C:\WINDOWS\Installer\815ced0.msi

C:\Users\clouder\Desktop\yanna>type find.txt

---------- PRODUCTS.TXT
0               亦云小智                                                        亦云小智                                                                                                                          {4CE4A510-3639-4F21-9E87-E33D6912DCD6}  20190307                   C:\powerdude\                                  C:\Users\clouder\AppData\Roaming\Onecloud\亦云小智 2.8.0\install\912DCD6\                                            5             2052      C:\WINDOWS\Installer\815ced0.msi   亦云小智                                                        C:\WINDOWS\Installer\815ced0.msi   {6C1B9C22-7F3B-4E80-90B3-F18B24935F7C}  亦云小智.msi                                                                                                                                                                                                                                                        Onecloud                2.8.0           0

4.运行C:\WINDOWS\Installer\815ced0.msi 卸载程序卸载

以上是关于bat想要写一个卸载软件的脚本,最后宣布失败[未完待续...]的主要内容,如果未能解决你的问题,请参考以下文章

如何用批处理写自动安装软件的脚本

bat静默卸载指定软件

如何用bat文件定期卸载软件?

如何用批处理来安装软件?

bat脚本延时启动exe和bat文件

JavaGradleExec执行bat脚本失败处理