IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Test jour de la semaine avant execution


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2015
    Messages : 57
    Points : 34
    Points
    34
    Par défaut Test jour de la semaine avant execution
    Bonjour,

    Je tente désespérément d'insérer un test dans un script afin que celui ci ne s’exécute qu'un jour précis de la semaine ( sous Windows 7 )
    Par exemple le vendredi :
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for %%i in (Fri) do (
    if "%date:~0,3%"=="%%i" goto :YES
    )
    :NO
    echo No
    :YES
    echo Yes

    Mais rien à faire
    Mes recherches n'ont débouché que sur des solutions viables sur Windows 2000-XP ou avec Powershell

    Merci d'avance pour votre aide et bon WE

  2. #2
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut [BAT] Récuperer le jour de la semaine sous windows 7
    Salut,

    Tu as 2 solutions.

    Avec date :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ::SachaDee 2015
     
    @echo off&cls
    for /f "tokens=1-4 delims=/ " %%i in ('echo.^|command /C date ^|find /i "current"') do set $Jour=%%l
    echo Aujourd'hui c'est : %$Jour%
     
    If /i "%$Jour%"=="Fri" (
     echo On est Vendredi
      ) else (
     echo On est pas Vendredi)

    Et plus robuste avec Wmic :


    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ::SachaDee 2015
     
    @echo off&cls
    for /f "skip=1 tokens=1" %%a in ('wmic path win32_localtime get dayofweek ^| findstr /b /r "."') do set /a dds=%%a +1
    for /f "tokens=%dds%" %%a in ("Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi") do set jour=%%a
    echo Aujourd'hui c'est : %jour%
    pause

    Et ensuite tu fais ton test IF.


    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2015
    Messages : 57
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par sachadee Voir le message
    Salut,

    Tu as 2 solutions.

    Avec date :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    :: SachaDee 2015
     
    @echo off&cls
    for /f "tokens=4" %%a in ('echo.^|command /C date') do (
     set "$Jour=%%a"
     goto:next)
     
    :next
    If /i "%$Jour%"=="Fri" (
     echo On est Vendredi
      ) else (
     echo On est pas Vendredi)

    Et plus robuste avec Wmic :


    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ::SachaDee 2015
     
    @echo off&cls
    for /f "skip=1 tokens=1" %%a in ('wmic path win32_localtime get dayofweek ^| findstr /b /r "."') do set /a dds=%%a +1
    for /f "tokens=%dds%" %%a in ("Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi") do set jour=%%a
    echo Aujourd'hui c'est : %jour%
    pause

    Et ensuite tu fais ton test IF.


    Salut,

    Tout d'abord merci pour ton aide
    Le premier script m'intéresse mais il ne fonctionne pas correctement. Par exemple j'ai modifié la condition en mettant aujourd'hui Samedi => Sat

    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off&cls
    for /f "tokens=4" %%a in ('echo.^|cmd /C date') do (
     set "$Jour=%%a"
     goto:next)
     
    :next
    If /i "%$Jour%"=="Sat" (
     echo On est Vendredi
      ) else (
     echo On est pas Vendredi)
    pause

    Et il me retourne invariablement "On est pas vendredi". Idem si je modifie la date système sur vendredi sans modifier la condition

    Merci encore

  4. #4
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Effectivement un petit bug !


    Voilà :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ::SachaDee 2015
     
    @echo off&cls
    for /f "tokens=1-4 delims=/ " %%i in ('echo.^|command /C date ^|find /i "current"') do set $Jour=%%l
    echo Aujourd'hui c'est : %$Jour%
     
    If /i "%$Jour%"=="Fri" (
     echo On est Vendredi
      ) else (
     echo On est pas Vendredi)


    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2015
    Messages : 57
    Points : 34
    Points
    34
    Par défaut
    Euh non
    Désolé mais résultat identique, il n'arrive pas à sortir le jour de la semaine même avec ta correction

    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @echo off&cls
    for /f "tokens=1-4 delims=/ " %%i in ('echo.^|cmd /C date ^|find /i "current"') do set $Jour=%%l
    echo "Aujourd'hui c'est : %$Jour%"
    pause

    Me retourne Aujourd'hui c'est : "

    Thx

  6. #6
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Ou la la

    Faut que je prenne des vacances moi

    Dans le premier POST il était OK est ici non.....

    On va refaire un test comme ça :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @echo off&cls
    for /f "tokens=1-4 delims=/ " %%i in ('echo.^|command /C date ^|find /i "current"') do set $Jour=%%l
    echo "Aujourd'hui c'est : %$Jour%"

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2015
    Messages : 57
    Points : 34
    Points
    34
    Par défaut
    En fait dans le premier post, seul le second script fonctionne.
    Le premier n'a jamais fonctionné
    Et même avec ta dernière proposition rien à faire

    Merci pour ta patience

  8. #8
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Essayez ce script :
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    @echo off  
    for /F "skip=2 tokens=2-4 delims=," %%A in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do (set daynumber=%%A)
    echo %daynumber%
    IF %daynumber% == 1 echo Lundi
    IF %daynumber% == 2 echo Mardi
    IF %daynumber% == 3 echo Mercredi
    IF %daynumber% == 4 echo Jeudi
    IF %daynumber% == 5 echo Vendredi
    IF %daynumber% == 6 echo Samedi
    IF %daynumber% == 0 echo Dimanche
    pause
     
    If %daynumber% == 5 goto :YES 
     
    :NO
    echo No
    pause
    exit /b
     
    :YES
    echo Yes
    Pause
    exit /b

  9. #9
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  10. #10
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Vraiment étrange, chez moi ça fonctionne parfaitement.

    Mais si la seconde version fonctionne utilise là (j'avais mentionné qu'elle est plus robuste !!)

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

Discussions similaires

  1. [Débutant] Test sur un jour de la semaine
    Par anthoof dans le forum InfoPath
    Réponses: 8
    Dernier message: 20/10/2014, 13h43
  2. Test du jour dans la semaine
    Par Patchain dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/04/2010, 12h21
  3. test sur jour de la semain
    Par munity dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 29/01/2010, 12h09
  4. Récupérez premier jour de la semaine
    Par Krapulax dans le forum Requêtes
    Réponses: 1
    Dernier message: 07/10/2003, 17h18
  5. Réponses: 3
    Dernier message: 19/04/2002, 00h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo