commande DOS

commande DOS - Shell/Batch - Programmation

Marsh Posté le 07-05-2005 à 09:41:13    

Bonjour,
 
Après diverses recherches sur différents forums, je n'ai pas trouvé de réponse à ma question.
 
Est-il possible de récupérer sous DOS la date de modification (et seulement la date !!) d'un fichier, et si oui comment?  
 
Merci de vos réponses.

Reply

Marsh Posté le 07-05-2005 à 09:41:13   

Reply

Marsh Posté le 07-05-2005 à 21:15:56    

Je pense que tu dois "parser" la sortie de la commande dir.

Reply

Marsh Posté le 08-05-2005 à 01:34:25    

J'ai trouvé un bout de code ici et j'ai un peu adapté.
A enregistrer dans un fichier nom_fichier.cmd

Code :
  1. @ECHO ON 
  2. del out.txt 
  3. Set FILE="fichier.txt"
  4. Set PARSEARG="eol= tokens=1,2,3 delims=/ skip=4"
  5. For /f %PARSEARG% %%a in ('dir %FILE%') Do (
  6.         SET JOUR=%%a
  7.         SET MOIS=%%b
  8.         SET ANNEE_HEURE_TAILLE_NOM=%%c
  9.         SET ANNEE_HEURE=%ANNEE_HEURE_TAILLE_NOM:~0,11%
  10.         echo %JOUR%/%MOIS%/%ANNEE_HEURE%>>out.txt
  11. )


Si l'heure est inutile remplace

Code :
  1. SET ANNEE_HEURE=%ANNEE_HEURE_TAILLE_NOM:~0,11%


par

Code :
  1. SET ANNEE_HEURE=%ANNEE_HEURE_TAILLE_NOM:~0,4%

Reply

Marsh Posté le 08-05-2005 à 20:51:43    

Je te remercie de ta réponse. Ca m'éclaire sur ce que je dois faire, mais j'ai testé ce que tu m'as donné et ça ne fonctionne pas. Le fichier out.txt est bien généré mais c'est // qui est enregixtré dedans.

Reply

Marsh Posté le 08-05-2005 à 21:18:42    

Effectivement au premier lancement ca écrit //, mais ça a l'air de marcher à partir du 3ème lancement du programmme.

Reply

Marsh Posté le 09-05-2005 à 10:45:17    

J'ai trouvé !!!
Pour que cela fonctionne à chaque fois, il faut mettre la ) de fin à la fin de la ligne 11.  
 
En tout cas, merci dilbert pour ton aide.

Reply

Marsh Posté le 18-07-2005 à 16:31:51    

@echo off
MD c:\temp
echo Programme pour trouver la date de derniere Modification d'un fichier:
echo.
set /p NOM=Entrer le nom du fichier:  
echo Entrer le chemin par Exemple "C:\Temp"
set /p FICHIER=Entrer son emplacement:  
dir /TW %FICHIER% | find "%NOM%" /i > C:\TEMP\temp10.txt
for /F "tokens=1 delims= " %%i in (C:\TEMP\temp10.txt) do set VERI1=%%i
echo Recherche effectuer le %DATE% pour le fichier %NOM%:>>C:\TEMP\reponse.txt
echo Fichier modifier Le %VERI1%>>C:\TEMP\reponse.txt
start C:\TEMP\reponse.txt
:FIN
 
Tien c'est cado!!!

Reply

Marsh Posté le 06-10-2006 à 17:30:24    

Pour ceux qui veulent faire de l'archivage, rar.exe a une option de filtre sur la date d'un fichier (option tb en ligne de commande).

Reply

Sujets relatifs:

Leave a Replay

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