Como disse o @dangph, aqui está o código do PowerShell abaixo, assim você não precisa chamar os comandos CMD /C
, e o usuário agora só precisa preencher as variáveis ao invés de jogar com a sintaxe também.
Não é uma grande mudança que eu sei, mas o usuário não precisa se preocupar com a confusão de um script que, de outra forma, estaria ok, caso precise alterar o script com frequência, como faço com meus scripts.
$javaUninstall = Get-Content -Path .\jre-uninstall-list.txt
$args = "/x $java /passive /quiet"
$msi = "msiexec"
foreach ($java in $javaUninstall) {
write-host "Trying", "$java"
Start-Process -FilePath $msi -ArgumentList $args -Wait -PassThru
}