Script bat pour éteindre des pc [Fermé]

Signaler
Messages postés
378
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
3 mai 2012
-
Bonjour,

J'ai fais un script pour éteindre les ordinateurs dont je m'occupe tous les jours à 19h30. Le script va chercher les ip souhaitées dans un fichier, test si elles sont accessibles via un ping et si c'est le cas exécute la commande shutdown à distance.

    @echo off
    cls
    for /F %%i IN (C:\test-shutdown\vlan1.txt) DO (
      PING -n 1 -w 4 %%i | FIND "TTL=">NUL
      IF NOT ERRORLEVEL 1 (
        shutdown -s -f -m \\%%i -t 120 -c "Extinction programmee de l'ordinateur a 19h30 tous les soirs. L'ordinateur s'eteindra dans 2 minutes."
		
        echo machine %%i maintenant eteinte  >> C:\test-shutdown\result1.txt
        rem ... autre commandes ici
      ) else (
        echo machine %%i deja eteinte >> C:\test-shutdown\result1.txt
        rem ... autre commandes ici
      )
    )



Le soucis c'est que parfois à 19h30 des utilisateurs sont sur certains pc. Donc j'ai voulus mettre un menu avec comme choix l'annulation de l'extinction (shutdown -a) mais si il n'y a pas de réponse de l'utilisateur, laisser le pc s'éteindre automatiquement 2 minutes plus tard.
J'ai donc fais ça

 @echo off
    cls
	pause
    for /F %%i IN (C:\test-shutdown\vlan1.txt) DO (
      PING -n 1 -w 4 %%i | FIND "TTL=">NUL
      IF NOT ERRORLEVEL 1 (
	  
		    @echo off
			echo Extinction programmee de l'ordinateur a 19h30 tous les soirs. L'ordinateur s'eteindra dans 2 minutes.
			echo.
			echo Si vous souhaitez annuler l'extinction appuyez sur 1 et validez
			echo Si vous souhaitez poursuivre l'extinction appuyez sur 2
			echo.
			set /P chiffre="Choix : "
			if %chiffre%==1 (
			shutdown -a
			goto end
			)
			:end
			pause
	
        rem echo machine %%i maintenant eteinte  >> C:\test-shutdown\result1.txt
        rem ... autre commandes ici
      ) else (
        echo machine %%i deja eteinte >> C:\test-shutdown\result1.txt
        rem ... autre commandes ici
      )
    )


Sauf que ça ne fonctionne pas. Visiblement il ne rentre même pas dans la boucle FOR et je ne sais pas pourquoi. C'est peut être tout bête mais je ne comprend pas.

Si quelqu'un pouvait m'aider ce serait vraiment super.
Merci d'avance.

Dikmas