Salut,
Je propose un programme dos en téléchargement. Ce programme est mis à jour régulièrement, il est donc important que l'utilisateur de ce programme dispose bien de la dernière version et donc ne le conserve pas trop longtemps
Pour cela, mon idée est que le batch va créer lors de son premier lancement un fichier contenant sa date d'installation.
Lors des prochains lancement, il vérifiera si ce fichier existe, et si c'est bien le cas, comparera le mois actuel avec le mois de la date d'installation. Si cette différence est supérieure à un mois alors il affichera un message "vous devez télécharger la denrière version".
Bon, ça c'est les violons.
Le pb c'est que selon l'ordinateur, il existe différents formats de date, par exemple :
Pour extraire le mois, il y a bien la notation %DATE:~3,2% qui va donner le mois pour le premier format ci-dessus, mais ne fojnctionnera pas correctement pour les deux derniers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 06/10/2008 2008-10-06 lundi 6 octobre 2008 Tue 07.10.08
J'entrevois une possibilité avec sed mais il y aurait un trop grand nombre de substitutions (notamment pour les formats alpha de type lundi, monday, etc)
Au niveau du registre il y a certainement qquechose à faire, en particulier à la clé HKEY_CURRENT_USER\Control Panel\International qui donne le format :
ce que je voudrais c'est pouvoir convertir le format de date de sorte à pouvoir appliquer le calcul de la différence de mois de manière universelle.
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 [HKEY_CURRENT_USER\Control Panel\International] "iCountry"="33" "iCurrDigits"="2" "iCurrency"="3" "iDate"="1" "iDigits"="2" "iLZero"="1" "iMeasure"="0" "iNegCurr"="8" "iTime"="1" "iTLZero"="1" "Locale"="0000040C" "s1159"="" "s2359"="" "sCountry"="France" "sCurrency"="€" "sDate"="/" "sDecimal"="," "sLanguage"="FRA" "sList"=";" "sLongDate"="dddd d MMMM yyyy" "sShortDate"="dd/MM/yyyy" "sThousand"=" " "sTime"=":" "sTimeFormat"="HH:mm:ss" "iTimePrefix"="0" "sMonDecimalSep"="," "sMonThousandSep"=" " "iNegNumber"="1" "sNativeDigits"="0123456789" "NumShape"="1" "iCalendarType"="1" "iFirstDayOfWeek"="0" "iFirstWeekOfYear"="0" "sGrouping"="3;0" "sMonGrouping"="3;0" "sPositiveSign"="" "sNegativeSign"="-"
Est-ce que ça vous inspire des idées ?
Merci![]()
Partager