Moi je n'aime pas ce mariage, ni passer par un fichier intermédiaire vbs.
Donc je propose autre chose.
En Powershell la vérification donnerai quelque chose comme cela :
invoke-webrequest "URL" -DisableKeepAlive -UseBasicParsing -Method head
On peux le préparer en mode script block en jouant sur la valeur de retour (0=valid, 1=1valide) :
try{invoke-webrequest $args[0] -DisableKeepAlive -UseBasicParsing -Method head|Out-Null;exit 0}catch{exit 1}
Il n'y à plus qu'a demander au batch de jouer ce code Powershell (en n'oubliant pas d’échapper le |) et jouer sur la validité du retour (0 ou 1) :
1 2
| set url="http://go.trendmicro.com/housecall8/HousecallLauncher64.exe"
Powershell -ExecutionPolicy Bypass -Command Invoke-Command -ScriptBlock {try{invoke-webrequest $args[0] -DisableKeepAlive -UseBasicParsing -Method head^|Out-Null;exit 0}catch{exit 1}} -ArgumentList %url% &&echo Valid||echo Non valid |
Partager