bonjour à tous , je m'appelle Adrien et suis dans le 06 et à temps perdus je m’intéresse à l'informatique et entre autre au fichiers batch.

Je me suis créer un petit programme qui récupère quelques informations dont j'ai besoin pour me faciliter la vie à partir d'un disque externe. Ce fichier(META.DAT) contient les renseignements sur la durée, le titre, l'heure d'enregistrement vidéo et surement autres chose que je n'ai pas encore décrypté.

le résultat est ici http://g6tsi.olympe.in/exemple.html

Le but du programme étant d'afficher rapidement sous la forme html le contenu du dossier PVR qui lui contient à son tour les dossiers du type REC_0015 contenants les vidéos sans titres.
Donc quand on commence à avoir quelques vidéos il faudrait toutes les visionnés pour savoir laquelle on recherche...

Maintenant pour paeufiner un peu je désire mettre en plus la durée d'enregistrement en minutes.

J'arrive à extraire la durée d'enregistrements sous forme hexadécimale et la convertir en décimale que je place dans deux fichiers texte que je nome metah1.txt pour les heures transformé en minutes et je voudrais les rajoutés au valeurs contenus dans metah2.txt qui contiens les minutes et les additionnés dans metah4.txt; j'ai essayé donc de faire une boucle imbriquée pour récupérerer les valeurs et les ajouter, mais voila je tourne en rond et je cherche de l'aide.

contenu du call avec la boucle casse tete à la fin:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
@echo off
setlocal ENABLEDELAYEDEXPANSION
 
if exist metah*.txt del>nul metah*.txt
for /f "delims=" %%H in (cor9.txt) do (
 SET choixh=%%H
 set cheminh=h:\PVR\!choixh!\meta.dat
 hexdump2>nul /skip:$148 /bare /keep:1 !cheminh! >>metah.txt
 hexdump2<nul /skip:$149 /bare /keep:1 !cheminh! >>metahf.txt
)
for /F "tokens=* delims= " %%i in (metah.txt) do (echo %%i >>metahh.txt)
for /F "tokens=1 delims= " %%i in (metahh.txt) do (
 set /a a1=0X%%i
 set /a a3=!a1!*60
 echo !a3! >>metah1.txt
)
for /F "tokens=* delims= " %%j in (metahf.txt) do (echo %%j >>metahff.txt)
for /F "tokens=1 delims= " %%k in (metahff.txt) do (
set /a a6=0X%%k
echo !a6! >>metah2.txt
)
Rem jusque ici ça va

rem DEBUT BOUCLE CASSE TETE
for /F "delims=" %%l in (metah1.txt) do (
  for /F "delims=" %%m in (metah2.txt) do (
    set a5=%%m
)
  set a4=%%l
  set /a a7=!a4!+!a5!
  echo RESultat: !a4!plus !a5! = !a7! minutes & pause
  echo !a7! >>metah4.txt
)

echo fin boucle Casse TETE... & pause
endlocal
goto:eof
contenu du fichier metah1.txt: (les heures transformées en minutes)
120
0
0
0
60
60
60

contenu du fichier metah2.txt: les minutes
11
53
7
49
48
36
31

on devrais obtenir pour metah4.txt
131
53
7
49
108
96
91

et j'obtiens ça
Nom : cassetete.JPG
Affichages : 521
Taille : 76,7 Ko

j'ai cherché un bon moment mais....