Batch avec date variable - Shell/Batch - Programmation
Marsh Posté le 25-09-2009 à 13:37:25
J'ai trouvé ceci qui pourrait m' aider, mais il y a encore un truc qui cloche !!!
REM ---------------------------------------------------------------------------
REM DEFINITION DE JOUR D'EXECUTION J-1
REM ---------------------------------------------------------------------------
@echo off
set /a NJ= -1
set /a J=1%DATE:~0,2% - 100
set /a M=1%DATE:~3,2% - 100
set /a A=%DATE:~6,4%
set /a JJ=%NJ% + ((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 T0=%JJ% + 68569
set /a T1=(4 * %T0%) / 146097
set /a T0=%T0% - (146097 * %T1% + 3) / 4
set /a T2=(4000 * (%T0% + 1)) / 1461001
set /a T0=%T0% - (1461 * %T2%) / 4 + 31
set /a T3=(80 * %T0%) / 2447
set /a J=%T0% - (2447 * %T3%) / 80
set /a M=%T3% + 2 - (12 * (%T3% / 11))
set /a A=100 * (%T1% - 49) + %T2% + (%T3% / 11)
if %J% LSS 10 set J=0%J%
if %M% LSS 10 set M=0%M%
echo.
echo hier, nous étions le : %J%/%M%/%A%
echo.
pause
rem >>>>>>>>>>>>>>>>>>>>>>>>> le résultat est : 24/09/2009
rem >>>>>>>>>>>>>>>>>>>>>>>>> et j' aimerais avoir une nouvelle variable qui me donne ceci en format anglais : 24.Sep
Marsh Posté le 25-09-2009 à 15:53:04
ben t'as tout la, sous dos tu pourras pas faire une conversion automatique, donc t'as plus qu'a faire des "if then if then etc" pour convertir en lettres. (a moins qu'il n'y ait un cas sous dos mais je ne crois pas...
Marsh Posté le 25-09-2009 à 11:49:01
Bonjour,
Voila mon Probleme : J' aimerais rechercher dans un fichier log les lignes concernant un jour précis
qui est en principe la veille du déclanchement du fichier Batch.
Dans mon exemple, je recherche toutes les lignes contenant le texte : "24.Sep", c'est à dire hier.
Mais si je déclanche mon batch demain, j'aimerais qu'il me cherche les lignes contenant "25.Sep"
sans pour autant avoir besoin de changer la date manuellement.
Y a t' il une solution ?
Les dates sont ainsi formatées et en Anglais
@echo off
rem ======================================== Keep oder Not Keep ======================================================
Findstr "29.Sep" "operator0002.log" "operator0001.log" > jour.txt
Findstr "id=0xad0e" "jour.txt" > Probleme.txt
for /f "delims=" %%i in (Probleme.txt) do set /a Compt+=1
echo %compt% > Resultat.txt
Si vous pouvez me donner un coup de pouce, ce serait vraiment sympa.
Philou