Utilisation du for pour obtenir la date d'un fichier

Utilisation du for pour obtenir la date d'un fichier - Shell/Batch - Programmation

Marsh Posté le 29-07-2005 à 09:57:58    

Citation :

Il est possible d'obtenir une multitude d'informations sur un fichier, pour cela, on utilise %~x1 où x est différent suivant l'information désiré :  
t : Affichage de la date et de l'heure de création (time).


 
J'ai vu plusieurs posts sur ce sujet mais pas d'exemple de code fonctionnant.
Est ce que quelqu'un pourrai me donner un exemple d'utilisation du for ainsi? Par exemple, pour obtenir les dates des fichier d'un dossier.
 
for %%a in (Dossier\*) do(
echo %%a
)
 
Mais ou mettre le %~xt ?
 
Je precise que je suis sous windows XP en batch.
 
Merci d'avance


Message édité par qapoka le 29-07-2005 à 10:02:03
Reply

Marsh Posté le 29-07-2005 à 09:57:58   

Reply

Marsh Posté le 29-07-2005 à 10:41:25    

Reply

Marsh Posté le 29-07-2005 à 13:08:09    

Moi pour test j'ai fait un truc du style:
 
@echo off
set /p HEURE=Entrer l'Heure du style "12:00" :
set /p JOUR=Entrer la date du style "27/07/2005" :
:RE
echo Le %today% A %HORA%==%HEURE%?
echo.
for /f "tokens=1-4 delims=/ " %%i in ('date /t') do (set today=%%j/%%k/%%l)
for /f "tokens=1" %%m in ('time /t') do (set HORA=%%m)
cls
if not "%JOUR%"=="%today%" goto RE
echo ok pour JOUR!!!
if not "%HEURE%"=="%HORA%" goto RE
echo Ok
pause
 
Ca Te Parle sinon tu peu faire comme ca mais ca va te mettre  un espace dans le cas ou il y a que 4 caractere exemple :
09:00
avec %TIME:~0,5% tu aura 9:00 avec un espace devant donc Up pour une bonne solution!
Et si ta un PB demande a nglechau il est a moitié balaise en script batch!!!

Reply

Marsh Posté le 29-07-2005 à 13:25:10    

@Sm@No: Merci mais non, chuis pas balaise du tout :)
 
Sinon, pour l'histoire d'espace tu peux faire style :
 

Code :
  1. set /a HH=%TIME:~0,2%
  2. if %HH% lss 10 set HH=0%HH%


Reply

Marsh Posté le 29-07-2005 à 17:02:30    

Yes pas mal!!!
mais la ca tiend en une ligne:
for /f "tokens=1" %%i in ('time /t') do (set HORA=%%i)
comme ca c'est aussi au bon format!
Pas mal mais moi je trouve kan mm ke T Balaise!!!
 

Reply

Marsh Posté le 29-07-2005 à 19:11:16    

"date /t" et "time /t" dépendent de tes params régionnaux, donc ne sont pas très passe-partout en fait :)
 
Par exemple, chez moi, je devrais passer
for /f "tokens=1-4 delims=/ " %%i in ('date /t') do (set today=%%j/%%k/%%l)
 
en  
for /f "tokens=1-3 delims=/ " %%i in ('date /t') do (set today=%%i/%%j/%%k)
pour obtenir le résultat souhaité.
 
De même façon,  
time /t
donne le même résultat à 7h qu'à 19h sur un PC dont l'heure est réglée au format hh:mm:ss (format 12h) au lieu de HH:mm:ss (format 24h).
 
Enfin, pour  
for /f "tokens=1" %%i in ('time /t') do (set HORA=%%i)
le "tokens=1" n'est pas nécessaire :)
 
Voilà pour les chti détails.


Message édité par wackevat le 29-07-2005 à 19:14:25
Reply

Marsh Posté le 02-08-2005 à 11:08:17    

Merci beaucoup

Reply

Marsh Posté le 05-08-2006 à 01:36:33    

Le code ne fonctionne pas chez moi

Reply

Sujets relatifs:

Leave a Replay

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