MSIを介してインストールされたアプリケーションがあるとします。 そして、あなたはアプリケーションの名前のみを知っています(この場合、名前の最初の部分のみ)。 MSIEXECコマンドを使用するには、GUIDを知る必要がありますが、すべてのプログラムには異なるGUIDがあり、さらにプログラムの異なるバージョンでも異なるGUIDを持つことができます。 そして、
Bill Linが思いついたソリューションは次のとおりです。レジストリキーを反復処理してこのGUIDを取得します。DisplayNameは特定の名前で始まります。
以下は、「Windows Live IDサインインアシスタント」で始まる名前のインストール済みアプリケーションをすべて削除する例です。
for / f "tokens = 7 delims = \" %% i in( 'reg query HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall ^ | FIND "{"')do
(
for / f "tokens = 2、*" %% j in( 'reg query HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ %% i / v DisplayName')do
(
dn = %% kを設定
if "!dn:〜0.33!" == "Windows Live IDサインインアシスタント"
(
echo Windows Live IDサインインアシスタントのアンインストール
msiexec / promptrestart / qb / x %% i / L + * v%TEMP%\ wlidsvc.log
if%ERRORLEVEL%NEQ 0 echoアンインストールに失敗しました。 log%TEMP%\ wlidsvc.logを確認します
)
)
)