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 :

Trouver les fichiers x jours après une date


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Trouver les fichiers x jours après une date
    %N% jours depuis le 01/01/1900

    je cherche le 01/01/1900 dans la ligne ( set /A N= ) et je trouve pas,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    set old_date=01/01/1900
    ::
    :: et apres il est où le %old_date%
    ::
    set /a J="100%DATE:~0,2% %% 100"
    set /a M="100%DATE:~3,2% %% 100"
    set /a A=%DATE:~6,4%
    set /a N="((1461 * (%A% + 4800 + (%M% - 14) / 12)) / 4 + (367 * (%M% - 2 - 12 * ((%M% - 14) / 12))) / 12 - (3 * ((%A% + 4900 + (%M% - 14) / 12) / 100)) / 4 + %J% - 32075) - 2415021"
    echo.
    echo Nous sommes le %DATE% soit %N% jours depuis le %old_date%
    echo.
    merci de votre lumière.

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 109
    Points : 168
    Points
    168
    Par défaut
    Code : 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
    @echo off
    ::
    set D=01/01/1900
    set /a J="100%D:~0,2% %% 100"
    set /a M="100%D:~3,2% %% 100"
    set /a A=%D:~6,4%
    set /a R="(1461 * (%A% + 4800 + (%M% - 14) / 12)) / 4 + (367 * (%M% - 2 - 12 * ((%M% - 14) / 12))) / 12 - (3 * ((%A% + 4900 + (%M% - 14) / 12) / 100)) / 4 + %J% - 32075"
    ::
    set /a J="100%DATE:~0,2% %% 100"
    set /a M="100%DATE:~3,2% %% 100"
    set /a A=%DATE:~6,4%
    set /a N="((1461 * (%A% + 4800 + (%M% - 14) / 12)) / 4 + (367 * (%M% - 2 - 12 * ((%M% - 14) / 12))) / 12 - (3 * ((%A% + 4900 + (%M% - 14) / 12) / 100)) / 4 + %J% - 32075) - %R%"
    ::
    echo.
    if %N% GTR -1 echo Nous sommes le %DATE% soit %N% jour(s) depuis le %D%
    if %N% LSS 0 echo Nous sommes le %DATE% soit %N:-=% jour(s) avant le %D%
    echo.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Merci, c'est magic ce truc.
    C’est très utile pour vérifier si un événement à déjà eu lieu depuis x jour et dans ce cas attendre que l'écart minimum soit atteint pour autoriser à nouveau cet événement.

    Merci Magma²

    Avant de demander des précisions j'ai fait des recherches et essayé moi même de modifier le code pour trouver la réponse. Par ce que je n'aime pas pomper gratis les compétences et l'énergie des autres. Cette info m'a fait gagner un temps précieux.

    Dans un dossier j'ai 1000 fichiers.
    je récupère la liste des noms de fichiers avec le code si dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    set n=0
    @for %%X in (dossier\*.*) do ( echo set fichier=%%X>temp.bat & call :action ) 
    goto sortie
    
    :action
    set /a n+=1
    call temp.bat
    set tmp=%fichier:~5%
    echo echo. p%n% %tmp:~0,-1%>>liste_fichier.bat
    echo set p%n%=%tmp:~0,-1%>>liste_fichier.bat
    set tmp=
    goto sortie
    Le problème:

    Le nom des fichiers est récupérer toujours dans le même ordre.

    Je cherche une solution pour extraire de manière aléatoire x noms de fichier dans ce dossier. Des noms de fichier peuvent se retrouver dans plusieurs listes sans que ce soit gênant pour mon programme mais le problème c'est de récupérer toujours exactement la même liste. Si je ne veux traiter que 100 noms de fichier se sera toujours les même.

    Donc random quelque chose, mais je n’ai pas trouvé.

    Et merci Magma².

  4. #4
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    %RANDOM% - se développe en un nombre aléatoire compris entre 0 et 32767.
    Après libre à toi d'utiliser cette commande comme tu le souhaites.

    Le tout étant d'éviter de faire 100 fois la boucle en prenant le 1000*%RANDOM%/32767ème à chaque fois.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trouver les fichiers compilés à partir d'une classe Java
    Par Foogiz972 dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 04/09/2012, 10h55
  2. Trouver la date qu'il sera 30 jours après une date quelconque
    Par patheo2 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/07/2011, 20h02
  3. [AC-2003] Récupérer les enregistrements mis à jour depuis une date d
    Par Zodiarch dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/04/2010, 11h05
  4. Réponses: 4
    Dernier message: 14/03/2007, 09h25
  5. Trouver les fichiers modifiés depuis une date/heure précise
    Par sinok dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 18/07/2006, 17h56

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