Forum Clubic

[DOS] besoin d'aide petit script - verification de date de modification

Bonjour,

J’ai besoin de vos lumieres pour la creation d’un petit script dos qui doit faire ça

Si le fichier “%ProgramFiles%\ocs\service.ini” existe
Si sa date de derniere modif est inferrieur a 01/01/2007
On le remplace par une version a jour sur le reseau
On redemarre le service nommé « xxx »
Fin si
Fin si

Voila le suite je pense savoir le faire mais je bloque juste sur la verification de la date de modification.
Donc si vous avez un exemple ou si vous pouvez me montrer comment faire,

Merci

Je vois après quelque recherche qu’il n’est pas possible de recuperer facilement la date de derniere modif via une commande DOS

Ce serait facile de faire sa dans un language genre C? Sachant qu’au final le programme doit faire ses verification voir remplacement de maniere transparante à l’ouverture de session.

Bonjour,
j’ai bien une idée mais il faut ruser un peu, utilise “XCOPY”

Xcopy affiche 0 ou 1 fichier copié selon la date (format américain), après il faudrait tester la longueur de fichier pour tester le redémarrage du service.

voir xcopy /?

ma pierre à l’édifice :
pour démarrer ou arrêter un service :
net start “nom du service”
ou
net stop “nom du service”

Exemple pour le spooler d’imprimant
net stop spooler
sachant que spoolsv.exe est l’éxécutable.

Bonjour,

Je confirme que ce n’est pas intuitif, mais comme j’ai du le faire pour le boulot, voilà à quoi je suis arrivé :

DIR /T:W Monfichier.Ext > %TEMP%\test1.txt
FIND “/” %TEMP%\test1.txt > %TEMP%\test2.txt
FOR /F "skip=2 tokens=1* delims= " %%i IN (‘TYPE %TEMP%\test2.txt’) DO SET DATEFICHIER=%%i

(oui, oui tout ça … :ouch:)

Dans ce cas la variable DATEFICHIER contient la date de dernière modification du fichier Monfichier.Ext

Ce script fonctionne à priori sous Windows NT4, 2000 XP et 2003