首页 > 解决方案 > 使用文件夹通配符

问题描述

我是批处理脚本的新手,我正在尝试编写一个将卸载 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

标签: batch-filewildcard

解决方案


是否需要检查工具栏是否存在?

不会

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将无法卸载未安装的应用程序。


推荐阅读