Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1480 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  recupérer un nombre dans un fichier texte grace a un Bat

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recupérer un nombre dans un fichier texte grace a un Bat

n°1603196
newoobs
Posté le 23-08-2007 à 18:34:53  profilanswer
 

slt
voila j'ai un fichier "Scenery.cfg" qui est composé de plusieurs "paragraphes" de ce genre :
 
[Area.XXX]
Title=YYYY
Layer=XXX
Active=TRUE
Required=FALSE
Local=Addon Scenery\YYYY
Remote=
 
 
Mon bute est grace a un fichier bat d'insérer après le dernier "paragraphe" un saut de ligne puis un autre paragraphe, j'aurais donc :
 
[Area.XXX]
Title=YYYY
Layer=XXX
Active=TRUE
Required=FALSE
Local=Addon Scenery\ZZZZZ
Remote=
 
[Area.XXX] <----- Ici je veux remplacer mes XXX par XXX + 1 c'est a dire que si j'ai 122 j'aurais 123
Title=abcdef
Layer=XX <----- Ici je veux faire la même chose
Active=TRUE
Required=FALSE
Local=Addon Scenery\abcdefghi
Remote=
 
Qu'elles commandes dois je utiliser pour "lire" cette ligne particulière (la dernière ligne "[Area.XXX]" du fichier texte) puis pour copier la valeur du nombre XXX et l'incémenter de 1 pour la réécrire par la suite ds mon paragraphe ?
 
Je vous remercie d'avance pour votre aide
Newoobs

mood
Publicité
Posté le 23-08-2007 à 18:34:53  profilanswer
 

n°1603198
blastkille​r
Posté le 23-08-2007 à 19:01:00  profilanswer
 

for /f "tokens=2 delims=.]" %%a in ('type Scenery.cfg ^| findstr "Area"') do set var=%%a
set /a var+=1
 
echo.>> Scenery.cfg
echo [Area.%var%]>> Scenery.cfg
echo Title=absdef>> Scenery.cfg
echo Layer=%var%>> Scenery.cfg
echo Active=TRUE>> Scenery.cfg
echo Required=FALSE>> Scenery.cfg
echo Local=Addon Scenery\abcdefghi>> Scenery.cfg
echo Remote=>> Scenery.cfg

n°1603202
newoobs
Posté le 23-08-2007 à 19:26:00  profilanswer
 

slt
Merci pour ton aide
Cela fonctione sauf pour la ligne "echo Layer=%var%>> Scenery.cfg "
en effet, elle n'apparait pas dans mon fichier Scenery.cfg
Vois tu d'ou peut venir le probleme ?
Pour savoir, que signifie "tokens=2" ?
 
Merci
Newoobs

n°1603206
blastkille​r
Posté le 23-08-2007 à 19:33:53  profilanswer
 

echo Layer=%var% >> Scenery.cfg
 
Juste un espace après %var%
Pour des explications sur les commandes tu tapes : for /?
dans une invite de commande et t'as l'aide.
 
En gros, ('type Scenery.cfg ^| findstr "Area"') sort la ligne comportant Area, donc : [Area.XXX]
et la commande FOR pose comme delimiteurs le . et le ] et donc TOKENS sert a selectionné des parties de cette ligne.
Si on aurait mit TOKENS=1 il nous aurait sortie : Area
Si on aurait mit TOKENS=1,2 dans la variable %%a on aurait Area et dans %%b on aurait XXX
 
Voila j'sais pas si j'explique bien :x

n°1603211
newoobs
Posté le 23-08-2007 à 19:38:16  profilanswer
 

slt
merci effectivement cela fonctionne. Merci pour tes explications, j'ai compris a peu pres comment cela fonctionne
 
A++++
newoobs


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  recupérer un nombre dans un fichier texte grace a un Bat

 

Sujets relatifs
Import fichier dans SQL Server avec .batplusieurs ligne d'upload de fichier, identifier celle choisi
Commande pour telecharger d internet un fichier?Suprimer le retour chariot dans un nom de dossier/fichier
Visio - Récupérer les propriétés personalisées ?recuperer données d'un formulaire HTML
Comment faire pour que le player de flash recharge un fichier XML[PHP] Récupérer session Curl
Formulaire GET dans fichier PHPSupprimer plusieurs octets séparés d'un fichier binaire ?
Plus de sujets relatifs à : recupérer un nombre dans un fichier texte grace a un Bat


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR