[BATCH]Remplacer chaîne par une autre chaîne récupéréé

Remplacer chaîne par une autre chaîne récupéréé [BATCH] - Shell/Batch - Programmation

Marsh Posté le 28-09-2006 à 17:23:47    

Salut,
 
encore une question sur le batch  :lol:  
J'ai effectuer un script qui me permet de récupérer à partir d'un fichier plat la valeur de la seconde ligne.
Maintenant j'aimerais que cette valeur remplace une chaîne de caractère qui a comme valeur Null dans un fichier texte.
 
Voivi tout d'abord le batch qui permet de récupérer la seconde ligne :
 

@echo off
cls
for /f "tokens=1 delims=première_ligne" %%i in ('type "*.gsm"') do (
         set var=%%i
         goto end
         )
:end


 
Grâce à ce code, je stocke la valeur de ma seconde ligne dans la variable var.
Mais aprés cela il faut que je remplace dans un autre fichier la chaîne Null par la variable var.
 
Si vous avez des idées, je suis preneur car je bloque sur ça depuis quelques heures  :cry:

Reply

Marsh Posté le 28-09-2006 à 17:23:47   

Reply

Marsh Posté le 28-09-2006 à 20:57:26    

Il y a :
set VAR=%VAR:str1=str2%
qui remplace la valeur chaîne str1 par la valeur chaîne str2.
 
Comme dans ton cas, str2 est une variable, il faut récupérer sa valeur dans le batch principal, et l'utiliser dans un second batch qui effectue le remplacement.

Reply

Marsh Posté le 29-09-2006 à 09:42:27    

Merci nglechau,
 
je suis d'accord avec ton raisonnement, mais je vois pas comment faire.
Peux-tu m'éclairer un peu plus?  
 
Encore merci


Message édité par GuiguiSoft le 29-09-2006 à 09:54:21
Reply

Marsh Posté le 29-09-2006 à 16:21:13    

Re,
 
J'ai résolu le problème en insérant directement le texte et ma variable dans un fichier (le texte dans mon fichier est toujours le même, seul la variable change).
Cela donne :
 

@echo off
cls
PATHDIR=C:\SMS\
for /f "tokens=1 delims=SMS_FILE" %%i in ('type "*.gsm"') do (
         set num=%%i
         goto end
         )
:end
 
echo TBClient,U,"(CreditUtilise )","","",Y,"(%num%)">>import.txt


 
Le fichier d'import me permet ensuite de l'injecter dans une base afin de mettre à jour les crédits SMS des clients.
 
Merci quand même

Message cité 1 fois
Message édité par GuiguiSoft le 29-09-2006 à 16:21:38
Reply

Marsh Posté le 29-09-2006 à 19:39:16    

GuiguiSoft a écrit :

J'ai résolu le problème en insérant directement le texte et ma variable dans un fichier


Bon, ça c'est la version simple.
 
Si j'avais proposé de générer le deuxième batch, c'était parce que je croyais que tu voulais tout automatiser.

Reply

Marsh Posté le 02-10-2006 à 10:35:16    

Au début effectivement je voulais tout automatiser, mais j'ai changé d'avis car c'était plus simple de générer ma requête en dur et de récupérer simplement ma variable.
 
Merci  ;)

Reply

Sujets relatifs:

Leave a Replay

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