Aide substitution de variable DOS SVP (mille merci nglechau)

Aide substitution de variable DOS SVP (mille merci nglechau) - Shell/Batch - Programmation

Marsh Posté le 13-09-2005 à 20:03:52    

Voila merci d'avance pour votre aide ...
 
Je souahite récupérer à la volée les dates de creation de fichiers dans un repertoire et substituer l'année au format AA a la variable au format AAAA...
 
Donc je script omme ceci :
 
for /f "skip=7 usebackq tokens=1,2,3 delims=/" %%A in (`dir /tc`) do set _ANNEE==%%C:~-2%
 
Hors ca ne marche pas :-[
 
Je test donc :
 
for /f "skip=7 usebackq tokens=1,2,3 delims=/" %%A in (`dir /tc`) do set _AAAA==%%C&set _AA:~-2%
 
Depuèis je bloque la-dessus et demande votre aide ^^


Message édité par Val061 le 15-09-2005 à 00:20:05
Reply

Marsh Posté le 13-09-2005 à 20:03:52   

Reply

Marsh Posté le 13-09-2005 à 20:30:53    

Salut,
 
Tu peux essayer :
 

Code :
  1. @echo off
  2. setlocal enableExtensions
  3. for %%f in (*.*) do (
  4.   set TIMESTAMP=%%~tf
  5.   call :processFile
  6. )
  7. goto end
  8. :processFile
  9. set FDD=%TIMESTAMP:~0,2%
  10. set FMM=%TIMESTAMP:~3,2%
  11. set FYY=%TIMESTAMP:~8,2%
  12. echo Jour=%FDD% ; Mois=%FMM% ; Annee=%FYY%
  13. :end
  14. endlocal&&goto :eof


 
Attention : un seul = et non pas deux pour assigner une valeur à une variable.

Reply

Marsh Posté le 13-09-2005 à 23:31:02    

mille merci : je test de suite
 
pour le == : c une faute de frappe ^^

Reply

Marsh Posté le 13-09-2005 à 23:42:02    

Code :
  1. setlocal enableExtensions
  2. for %%f in (*.*) do (
  3.   set TIMESTAMP=%%~tf
  4.   call :processFile
  5.   echo %FMM%%FDD%%FHH%%FMN%%FYY% %NAM%
  6. )
  7. goto end
  8. :processFile
  9. set FDD=%TIMESTAMP:~0,2%&set FMM=%TIMESTAMP:~3,2%&set FYY=%TIMESTAMP:~8,2%&for /f "usebackq tokens=1,2,3,4,5,6,7,8
  10. delims=/: " %%A in (`dir /tc`) do set FHH=%%D&SET FMN=%%E&SET NAM=%%G&echo %FDD%/%FMM%/%FYY%
  11. :end
  12. endlocal&&goto :eof


 
En fait je suis trop fatigué :-D je vois plus clair du tout
 
Pourquoi la ca marche pas ?
 
En fait j'ai besoin d'un peu plus que la date :
 
je souhaiterai recuperer dans le contenu d'un rep, les variables suivantes :
 
jour=JJ
mois=MM
année=AA
heure=HH
minutes=NN
nom du file=NAME
 
et bien sur afficher tout ceci pour chaque occurrence trouvée.


Message édité par Val061 le 14-09-2005 à 01:14:53
Reply

Marsh Posté le 14-09-2005 à 12:18:42    

C'est toujours pareil :

Code :
  1. @echo off
  2. setlocal enableExtensions
  3. for %%f in (*.*) do (
  4.   set FILE=%%~ff
  5.   set TIMESTAMP=%%~tf
  6.   call :processFile
  7. )
  8. goto end
  9. :processFile
  10. set FDD=%TIMESTAMP:~0,2%
  11. set FMM=%TIMESTAMP:~3,2%
  12. set FYY=%TIMESTAMP:~8,2%
  13. set FHH=%TIMESTAMP:~11,2%
  14. set FNN=%TIMESTAMP:~14,2%
  15. echo %FILE% (%TIMESTAMP%)
  16. echo     Jour=%FDD% ; Mois=%FMM% ; Annee=%FYY% ; Heure=%FHH% ; Minutes=%FNN%
  17. :end
  18. endlocal&&goto :eof

Reply

Marsh Posté le 14-09-2005 à 23:11:40    

Wazzzzzzzzzza et toujours mille mercis de prendre de ton temps pour m'aider ^^
 

Code :
  1. @echo off
  2. setlocal enableExtensions
  3. for %%f in (*.*) do (
  4.   set FILE=%%~ff
  5.   set TIMESTAMP=%%~tf
  6.   call :processFile
  7. )
  8. goto end
  9. :processFile
  10. set FDD=%TIMESTAMP:~0,2%
  11. set FMM=%TIMESTAMP:~3,2%
  12. set FYY=%TIMESTAMP:~8,2%
  13. set FHH=%TIMESTAMP:~11,2%
  14. set FNN=%TIMESTAMP:~14,2%
  15. echo %FILE% (%TIMESTAMP%)
  16. echo     Jour="%FDD%" ; Mois="%FMM%" ; Annee="%FYY%" ; Heure="%FHH%" ; Minutes="%FNN%"
  17. :end
  18. endlocal&&goto :eof


 
J'ai rajouté des "" dans ton exemple a cause d'un bug : pourquoi y'a t'il dans toutes les variables sauf la première (%FDD%) un indésirable ESPACE :-(


Message édité par Val061 le 14-09-2005 à 23:14:53
Reply

Marsh Posté le 14-09-2005 à 23:40:14    

Quel bug parles-tu ? Attention, quand tu copies le code directement du forum, vérifie et supprime les espaces de trop enfin de chaque ligne. C'est peut-être ça ?

Reply

Marsh Posté le 15-09-2005 à 00:18:47    

loooooool : j'ai des fois l'impression (confirmée je pense ^^) d'être un neuneu :-D
 
Ecoute je te remercie INFINIMENT d'avoir completement resolu mon pb...
 
Et surtout de m'avoir appris a utiliser un call sur goto ...

Reply

Sujets relatifs:

Leave a Replay

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