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:
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.
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:
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².