Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Comment ignorer un caractère dans une boucle for?
Auteur Message
Répondre en citant
Message Comment ignorer un caractère dans une boucle for? 
Bonjour a tous,

Et oui, j'ai encore un problème avec la fameuse boucle for...

Donc le voici:

Y-a-t-il une solution pour ignorer un/des caractère dans une chaine de caractère?

A la façon du paramètre "eol" dans une boucle for, exemple:
Code:
for /F "eol=[]" %%a in ("%line%") do ...
Bien sur se code est faut car eol permet juste d'ignorer une ligne si celle ci débute par le caractère spécifié.

Donc dans cette boucle j'aimerais que les caractères "[" et "]" soit ignorer.

Par exemple:
Code:
bla [bla ] bla

Serait interpréter par la boucle comme:
Code:
bla bla bla


Voila voila,
Merci d'avance!
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Comment ignorer un caractère dans une boucle for? 
Oui -> set variable_sans_le_[=%variable:[=%



Dernière édition par Cαutex le Mar 10 Avr 2012 - 17:08; édité 1 fois

______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message Comment ignorer un caractère dans une boucle for? 
Hello,

Sa marche! Mr. Green

Merci c'est exactement se que je voulais! Okay

£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Répondre en citant
Message Comment ignorer un caractère dans une boucle for? 
Hello,

Et oui, j'ai encore une question Embarassed .
Sais tu comment ignorer le caractère " = " sachant que:
Code:
set var=!var:==!

Ne marche pas...

J'ai aussi essayé dans un "delims=" mais sa pose aussi un problème...

As tu une solution?

Merci,
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Répondre en citant
Message Comment ignorer un caractère dans une boucle for? 
hello !

Tu as essayé d'échapper le égal avec des '^' ?
Si ça marche pas je suis pas sûr que ce soit faisable ...

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message Comment ignorer un caractère dans une boucle for? 
cette option ne fonctionne pas Darkbatcher.

je propose une solution pas géniale mais j'ai pas d'autre idée pour le moment.

vbs qui remplace une chaine dans un fichier:

echo Const ForReading = 1, ForWriting = 2 >vbs1.vbs
echo Set objFSO = CreateObject("Scripting.FileSystemObject" ) >>vbs1.vbs
echo Set objFile = objFSO.OpenTextFile("fichier", ForReading) >>vbs1.vbs
echo strText = objFile.ReadAll >>vbs1.vbs
echo objFile.Close >>vbs1.vbs
echo strNewText = Replace(strText, "chaine 0", "chaine 3") >>vbs1.vbs
echo Set objFile = objFSO.OpenTextFile("fichier", ForWriting) >>vbs1.vbs
echo objFile.WriteLine strNewText >>vbs1.vbs
echo objFile.Close >>vbs1.vbs
vbs1.vbs




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message Comment ignorer un caractère dans une boucle for? 
En fait si c'est possible tout de même

Code:
::STRREPLACE_ ptrReturn StrRString StrRLen StrRChar StrRCharRep
:STRREPLACE_
SET StrRLen=%3
SET StrRString=%~2
SET StrRChar=%~4
SET StrRCharRep=%~5
SET StrRI=0
SET StrRJ=1
:StrRLoop
if "!StrRString:~%StrRi%,0!"="%StrRChar%" SET StrRString=!StrRString:~0,%StrRI%!!StrRCharRep!!StrRString:%StrRJ%!
SET /a StrRI+=1
SET /a StrRJ+=1
if %StrRI% LEQ %StrRLen% GOTO :StrRLoop
SET %1=%StrRString%
GOTO:EOF


après test chez moi ça a l'air de marcher mais bon après ...

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message Comment ignorer un caractère dans une boucle for? 
Hello,

Merci de vos réponse!

Et en effet avec le "^" j'avais déjà tenter et sa ne marche pas.

@Cmanix: Pour ton code vbs il existe aussi la commande externe Switch mais je ne souhaite pas supprimer le "=" dans tout le fichier.

@DarkBatcher: Merci pour ton code, je le testerais se soir.
EDIT: @DarkBatcher: Pourrais tu m'expliquer comment fonctionne ton code et mieux préciser les paramètres à envoyer?

Merci encore,
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Répondre en citant
Message Comment ignorer un caractère dans une boucle for? 
Hello,

Plus personne?

Help Please!

£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Message Comment ignorer un caractère dans une boucle for? 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch