batch-file - 使用文件夹通配符
问题描述
我是批处理脚本的新手,我正在尝试编写一个将卸载 Yahoo Search Toolbar 的批处理文件。目前,如果文件存在于 Yahoo 文件夹中,批处理将运行,然后运行卸载命令。我在 Yahoo 文件夹中有一个在每台机器上都会更改的十六进制文件夹。我需要能够将该文件夹设置为通配符,这样我的批处理才能找到我需要运行的文件。下面我复制了我目前拥有的内容。我需要第 16 行的帮助。欢迎提出任何建议!
@ECHO OFF
IF EXIST "C:\Program Files (x86)\AskPartnerNetwork\Toolbar\toolbar.exe" (
GOTO COMMAND1
) ELSE (
GOTO COMMAND2
)
:COMMAND1
rem Search App by Ask
msiexec /quiet /x "{4F524A2D-5350-4500-76A7-A758B70C2E03}"
GOTO COMMAND2
:COMMAND2
IF EXIST "C:\Program Files (x86)\Yahoo!\yset\<WILDARD FOLDER>\ysearchsettool.exe"
(
GOTO COMMAND3
) ELSE (
GOTO COMMAND4
)
:COMMAND3
rem Yahoo Search Set
msiexec /quiet /x "{C57192ED-5069-1A45-845C-C8D5C44F1F40}"
GOTO COMMAND4
:COMMAND4
IF EXIST "C:\Program Files (x86)\Google\Google Toolbar\GoogleToolbarUser_32.exe" (
GOTO COMMAND5
) ELSE (
GOTO END
)
:COMMAND5
rem Google Toolbar for Internet Explorer
msiexec /quiet /x "{18455581-E099-4BA8-BC6B-F34B2F06600C}"
GOTO COMMAND6
:COMMAND6
TASKKILL /IM msiexec.exe
GOTO END
:END
exit 0
解决方案
是否需要检查工具栏是否存在?
不会
for %%a in (4F524A2D-5350-4500-76A7-A758B70C2E03
C57192ED-5069-1A45-845C-C8D5C44F1F40
18455581-E099-4BA8-BC6B-F34B2F06600C) do msiexec /quiet /x "{%%a}" 2>nul
完全一样吗?msiexec
将无法卸载未安装的应用程序。
推荐阅读
- c++ - for循环的两个代码有什么不同?
- java - 为什么java main 方法参数名称是args?
- plot - 在 R-Studio 终端上显示绘图
- excel - 在 Excel 中使用 Power Query / Get & Transform 访问 Cloudflare 保护背后的文件
- oracle - 如果是星期日,则在 oracle 报告中显示 Week rest else
- android - 在 React Native 上安装 firebase 时出错
- c++ - 防止打印失败检查
- wildfly - Wildfly没有启动
- c# - .NET Worker 服务中的构造函数注入
- angular-material - 使用 angular 10 和行跨度导出 excel,使用分页的 colspan