【发布时间】:2019-07-17 15:10:53
【问题描述】:
我正在尝试写一个batch-file 来卸载GoToMeeting。
目前我使用以下卸载当前版本:
echo UnInstalling GoToMeeting........
"C:\Program Files (x86)\GoToMeeting\13190\G2MUninstall.exe" /uninstall -silent
问题是,每次安装新版本时,安装目录都会发生变化。例如,版本是13190,但之前的版本是13022 和12771。所以我实际上必须为每个版本添加一行,这真的很烦人。
有没有办法在卸载过程中使用batch-file 使目录成为通配符?
【问题讨论】:
-
您是否考虑过将注册表的卸载部分
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ProgName解析为InstallLocation或更好的是UninstallString? -
打开命令提示符窗口并运行
for /F "delims=" %I in ('dir "%ProgramFiles(x86)%\GoToMeeting\G2MUninstall.exe" /A-D /B /S 2^>nul') do @echo "%I"。在同一命令提示符窗口中打开dir /?并阅读输出帮助以及for /?并再次阅读输出帮助。删除命令echo将导致执行找到的卸载程序可执行文件。另请参阅有关 application registration 的 Microsoft 文档。也许有更好的方法来确定是否安装了应用程序 GoToMeeting 以及安装位置。 -
这个怎么样:
for /D%%D in ("%ProgramFiles(x86)%\GoToMeeting\*") do "%%~D\G2MUninstall.exe" /uninstall /silent?
标签: batch-file batch-file batch-file cmd wildcard