我正在创建一个批次来自动卸载Java:
wmic product where name="Java 8 Update 321 (64-bit)" call uninstall /nointeractive
但Oracle将WMIC中的应用程序重命名为Java 8 Update321(64位(。例如,在未来Oracle将发布新版本322,由于版本不同,我的批处理将停止工作。Oracle不仅会在每次更新时更改名称,还会更改ID,如{26A24AE4-039D-4CA4-87B4-2F64180321F0}。
我已经尝试过使用这样的翼子板的替代方案:
winget install "Oracle.JavaRuntimeEnvironment"
作品
winget uninstall "Oracle.JavaRuntimeEnvironment"
不起作用,因为ID不同,即{26A24AE4-039D-4CA4-87B4-2F64180321F0},这与版本号有关。
有没有一种方法可以在没有版本号的情况下批量卸载?
for /f "delims=" %%b in ('wmic product get description^|find "Java" ') do set "javaversion=%%b"
echo ready to delete "%javaversion%"
然后wmic product where name="%javaversion%" call un...
(这只是设置一个环境变量并显示它(
If you're feeling brave, try
for /f "delims=" %%b in ('wmic product get description^|find "Java" ') do ECHO wmic product where name="%%b" call uninstall /nointeractive
并移除CCD_ 4关键字以实际执行卸载。