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:
contenu du fichier metah1.txt: (les heures transformées en minutes)
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
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
j'ai cherché un bon moment mais....
Partager