[batch]Réccupérer la date de création/modification d'un fichier,

Réccupérer la date de création/modification d'un fichier, [batch] - Shell/Batch - Programmation

Marsh Posté le 12-08-2004 à 17:03:14    

Bonjour,
 
 
je souhaiterai savoir comment il est possible de réccupérer la date de création/modification d'un fichier par un batch dos.
 
si de plus quelqu'un sait, comment exécuter un batch seulement pendant des jours fériés en dos, ce serait cool
 
merci pour votre aide

Reply

Marsh Posté le 12-08-2004 à 17:03:14   

Reply

Marsh Posté le 12-08-2004 à 17:35:13    

avec le parametre /T de la commande DIR
 
dir /TC --> Creation
dir /TA --> Last Access
dir /TW --> Last Written
 
à la rigueur tu rediriges le DIR dans un fichier temporaire
, que tu lis avec un FOR et en extrait la date...
 

Reply

Marsh Posté le 12-08-2004 à 17:47:08    

voila un ex sur le fichier toto.txt
 

Code :
  1. @echo off
  2. dir /TC toto.txt | find "/"  > tmp.txt
  3. call :PROCESS
  4. echo la date de creation de toto.txt est %datetmp%
  5. dir /TA toto.txt | find "/" > tmp.txt
  6. call :PROCESS
  7. echo la date de derniere lecture de toto.txt est %datetmp%
  8. dir /TW toto.txt  | find "/" > tmp.txt
  9. call :PROCESS
  10. echo la date de derniere ecriture de toto.txt est %datetmp%
  11. del tmp.txt
  12. goto EXIT
  13. :PROCESS
  14. FOR /F "tokens=1-4 delims= " %%i in (tmp.txt) do set datetmp=%%i
  15. :EXIT


Message édité par Arrakeen le 12-08-2004 à 17:47:28
Reply

Marsh Posté le 12-08-2004 à 18:53:03    

super Arrakeen, c'est ce que je voulais a une chose près .
 
 
la valeur qui est stockée dans la variable est de cette forme JJ/MM/ANNEE et je voudrais quelle soit sous cette forme JJMMANNEE.C'est a dire sans les slash.
 
j'ai besoin de ce format pour faire 1 comparaison avec la date du jour renvoyé par le système au format jjmmannee.
 
merci  

Reply

Marsh Posté le 12-08-2004 à 19:57:51    

pas de probleme, remplace la ligne du FOR par celle-ci
 

Code :
  1. FOR /F "tokens=1-4 delims=/ " %%i in (tmp.txt) do set datetmp=%%i%%j%%k


Message édité par Arrakeen le 12-08-2004 à 19:58:25
Reply

Marsh Posté le 12-08-2004 à 22:55:08    

Arrakeen a écrit :

pas de probleme, remplace la ligne du FOR par celle-ci
 

Code :
  1. FOR /F "tokens=1-4 delims=/ " %%i in (tmp.txt) do set datetmp=%%i%%j%%k



j'ai essayé mais cela me retourne la date sous le même format que précédement.

Reply

Marsh Posté le 13-08-2004 à 09:21:34    

sorry
 
cela marche mais je voudrais savoir comment je pourrait l'avoir dans ce format jjmmaaaa
exple:13082004
ou à défaut avoir la date système dans le format 130804
 
merci pour ton aide

Reply

Marsh Posté le 16-08-2004 à 11:45:00    

tu veux dire qu'avec mon bat tu as 130804 ?
 
bah rajoute 20 devant alors --> ...set datetmp=%%i%%j20%%k

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed