[batch] Condition en fonction de l'heure

Fermé
alex.p - 14 juin 2009 à 01:06
 speeduser7 - 6 août 2013 à 12:01
Bonjour,
je souhaiterai vous demander un petit renseignement, je travail dans une agence immobilière et je souhaiterai bloquer certains sites web durant les heures de travail (facebook, skyblog ...), j'ai donc compléter le fichier "hosts" pour bloquer l'accés à ces sites mais cependant j'aimerai qu'a certaines heure l'accés soit autorisé (entre midi et 14h par exemple et le soir aprés 18h), j'ai donc créer deux fichiers "hosts" soit "hosts1" (qui ne bloque aucun sites) et le fichier "host2" (qui bloque les sites facebook etc ...) j'ai donc réaliser un petit fichier bat qui se lancerai automatiquement au démarage de l'ordinateur et qui en fonction de l'heure remplace le fichier "hosts"
je vous fais une copie de ce que j'ai fais:

@echo off
echo il est %time%
if "%time%" LSS "08:00" COPY C:\Windows\system32\drivers\etc\1\hosts1 C:\Windows\system32\drivers\etc\hosts
if "%time%" GTR "08:00" COPY C:\Windows\system32\drivers\etc\1\hosts2 C:\Windows\system32\drivers\etc\hosts
echo.
pause

voilà c'est pas évident à expliquer je commence tout juste à m'interresser au batch :)
Je vous remerci à l'avance
Cordialement

5 réponses

mdj de normandie Messages postés 135 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 28 juin 2009 26
14 juin 2009 à 01:40
je pence que sa ne peut pas marcher , j'ai fait des test

je tenterais plutot ceci

un 1e bath :

@ech off
COPY /Y "C:\Windows\system32\drivers\etc\1\hosts1" "C:\Windows\system32\drivers\etc\hosts"

et programer le lancement avec l'outil de windows : "tâches planifier" pour lancer le démarage du bath a l'heur souhaiter, 8H00 dans ton cas

un 2e bath:
@echo off
COPY /Y C:\Windows\system32\drivers\etc\1\hosts2 C:\Windows\system32\drivers\etc\hosts

idém avec 20H00

voila.. autre chose , si tu écris pause a la fin les utilisateur vérons ton bath les forcan a appuyer sur une touche (se qui je pense n'est pas le but)

autre chose "/Y" permet de copier le fichier en remplaçant l'existant et sans demande de confirmation
sa c'est une petite correction de ta syntaxe

bonne chance pour la suite de ton apprentissage de bath et n'hésite pas a demander des conseilles
1
Salut tu peut tout faire dans un seul fichier que t'exécute automatiquement avec regedit au démarrage de windows. La clé, c'est les "label" et les "goto" pour remplacer les fonctions. Celles ci sont inexistantes en batch ;)

Prend exemple sur ce script qui extrait l'heure et la compare avec la variable globale "soir". 2 cas sont possible : soir ou matin. Ma comparaison utilise les heures (et non pas les minutes).


Si ton ordi est démarré strictement après 18h, alors JDownloader est lancé. Sinon, c'est Wamp server et Kaspersky qui sont exécutés.


Il faut juste que tu remplace les "start explorer" par tes "copy /y host".
Testé avec succès sur Windows 7 le 06/08/2013.

:::::::::::::::::::::::::::

@echo off

:: VARRIABLES GLOBALES
set soir=18
set tps=%TIME:~-0,2%

:: TEST DE L'HEURE
if %tps% LSS %soir% (goto 1) else (goto 2)



:: LABEL 1 : MATIN
:1
echo Matin : Il est %TIME% (%tps% inf %soir%)
echo.
echo -- wampmanager --
echo -- starter_avp --
start explorer "C:\wamp\wampmanager.exe"
start explorer "C:\Program Files (x86)\Kaspersky Lab\Kaspersky Anti-Virus 2013\starter_avp.exe"
goto 3

:: LABEL 2 : SOIR
:2
echo Soir : Il est %TIME% (%tps% sup %soir%)
echo.
echo -- JDownloaderD3D --
start explorer "C:\Program Files (x86)\JDownloader\JDownloaderD3D.exe"
goto 3

:: LABEL 3 : FIN
:3
echo.
pause
exit

:::::::::::::::::::::::::::
1
Utilisateur anonyme
14 juin 2009 à 01:41
tu pe utiliser un controle parental
0
mdj de normandie Messages postés 135 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 28 juin 2009 26
14 juin 2009 à 01:57
un control parantal? t'en conais beaucoup des gratuit a peride d'éssay inderterminé? si oui tu passe un lien
moi je ne connais qu'un système c'est slis ( étant baser sur une distrib linux il me paré évidant qu'il est gratuit)

mais sa me semple un peu lourd pour une agence immobilière
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mdj de normandie Messages postés 135 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 28 juin 2009 26
14 juin 2009 à 02:10
bon je t'ai trouver un truc temporaire si les bath te pose probléme : tu prend la periode d'ésay de chronos sur cette page http://fr.visionsoft.com/solutions.asp
0