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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1448942
GuiguiSoft
Posté le 28-09-2006 à 17:23:47  profilanswer
 

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:

mood
Publicité
Posté le 28-09-2006 à 17:23:47  profilanswer
 

n°1449118
wackevat
Posté le 28-09-2006 à 20:57:26  profilanswer
 

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.

n°1449332
GuiguiSoft
Posté le 29-09-2006 à 09:42:27  profilanswer
 

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
n°1449861
GuiguiSoft
Posté le 29-09-2006 à 16:21:13  profilanswer
 

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
n°1449969
wackevat
Posté le 29-09-2006 à 19:39:16  profilanswer
 

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.

n°1450651
GuiguiSoft
Posté le 02-10-2006 à 10:35:16  profilanswer
 

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  ;)


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

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

 

Sujets relatifs
[BATCH] petite aide pour syntaxe subsitution commandetester si chaine contient un saut de ligne
Modifier plusieurs pages html à la volée via "rechercher/remplacer"[BATCH][WINXP]Supprimer fichier de plus de 3 mois
[BATCH][W2K3] récupérer le jour pour un batch[VB] Intégration chaîne de caractère dans tableau
Script batch de renommage de masse de fichiersson dans batch
Copier les fichiers des sous dossiers dans le dossier parent 
Plus de sujets relatifs à : [BATCH]Remplacer chaîne par une autre chaîne récupéréé


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