faire passer des caractère spéciaux dans SET

faire passer des caractère spéciaux dans SET - Shell/Batch - Programmation

Marsh Posté le 29-06-2011 à 13:28:18    

Bonjour à tous,
 
J'essaie d'insérer une chaîne de caractère contenant des caractères spéciaux dans une variable mais le problème c'est que mon insertion ne se produit pas correctement, voici mon script:
 

Code :
  1. SET resultat=user_pref("network.proxy.autoconfig_url", "http://www/proxy.pac" );
  2. FOR /f "delims=" %%i IN ('TYPE "myfile.txt" ^|FINDSTR /i "mystring"') DO SET var=%%i
  3. IF NOT /I "%var%"=="%resultat%" ECHO %resultat% >> myfile.txt


 
L'insertion dans %var% en ligne 2 échoue et j'obtiens cette erreur liée à la ligne 3:
 

Code :
  1. "user_pref("network.proxy.autoconfig_url", "http://www/proxy.pac" );"=="user_pref("network.proxy.autoconfig_url", "http://www/proxy.pac" );" était inattendu.


 
Comment faire?
 
Merci!  ;)


Message édité par PsyKoptiK le 29-06-2011 à 13:41:18
Reply

Marsh Posté le 29-06-2011 à 13:28:18   

Reply

Marsh Posté le 29-06-2011 à 14:32:31    

C'est pourtant un type d'erreur bien connu, ce qui le provoquait était clairement visible dans le message d'erreur:

Citation :

"user_pref("network.proxy.autoconfig_url", "http://www/proxy.pac" );"=="user_pref("network.proxy.autoconfig_url", "http://www/proxy.pac" );"


A+,


Message édité par gilou le 29-06-2011 à 14:35:00

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 29-06-2011 à 14:36:19    

Et sinon pourrais-tu me donner une réponse plus parlante que cette "remarque" merci.

Reply

Marsh Posté le 29-06-2011 à 14:46:15    

Ben ça se voit grand comme une montagne. Tu ne peux pas avoir des doubles quotes dans les chaines que tu compares, puisqu'on s'en sert déjà comme délimiteur de début et de fin des chaines à comparer.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 29-06-2011 à 14:50:57    

Très bien, merci pour ta remarque plus que percutante, je demandais juste si une autre solution était possible, j'adore avoir affaire à de modestes génies.
Bonne journée à toi.

Reply

Marsh Posté le 29-06-2011 à 15:25:05    

Ben tu fais comme il est écrit partout sur le web quand on cherche a batch, chaine et double quote (mais bon, c'est sur que ça te demande un minimum d'initiative personnelle, ce qui n'a pas l'air d'être ton fort), tu remplaces tes doubles quotes par deux doubles quotes dans ta chaine.

Citation :

"user_pref(""network.proxy.autoconfig_url"", ""http://www/proxy.pac"" );"=="user_pref(""network.proxy.autoconfig_url"", ""http://www/proxy.pac"" );"


Ça passe très bien au test avec IF.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

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