OVH Cloud OVH Cloud

commande SHELL

1 réponse
Avatar
Fabrice
Bonjour,

j'ai besoin d'exécuter la commande de mise à jour des stratégies pour cela
la commade dos est :
gpupdate /target:computer /force

mais une question peut ou ne pas demander une réponse obligatoire en fin de
déroulement de la commande

Redémarrer (o/n)

et je souhaiterez forcer à n (pour non bien sûr) uniquement si la question
est posée

la commande en VB6 ferait
shell "gpupdate /target:computer /force"

Une réponse ou suggestion serait la bien venue
Fabrice

1 réponse

Avatar
Zoury
Salut Fabrice ! :O)

La commande "echo" peut-être utiliser afin de préciser à l'avance la réponse
à une question demandé par la commande exécuter.

Par exemple :
---
echo n| gpupdate /target:computer /force
---
devrait automatiquement répondre non à la question

Pour permettre l'emploi de la commande "echo" via Shell(), on doit, comme
avec toute commande DOS interne (xcopy, dir, etc.) spécifier le processeur
de commande (pas sûr du terme). Cette information peut-être récupéré
simplement par la fonction Environ$() en lui passant "comspec" en paramètre.

Voici un exemple :
'***
Call Shell(Environ$("comspec") & " /c echo echo n| gpupdate /target:computer
/force", vbHide)
'***
le "/c" passé à en paramètre (premier) spécifie que l'on veut que cmd ou
command se termine immédiatement après l'exécution de la commande..

--
Cordialement
Yanick
MVP pour Visual Basic