Variable avec un signe = sous W98

Le
Frédéric Breassier - News
Bonjour à tous.

J'ai besoin de vos lumières pour une connerie très simple :
J'ai un batch dans lequel je défini des variables qui contiennent un signe =
Du genre :
set URL=www.site.com/index.php?user=toto

Pas de soucis sous Windows XP, il la prend bien, par contre sous 98, je me
retouve avec une erreur de Syntax.
J'ai bien essayé de mettre un ^ devant le =, mais rien n'y fait, le shell
continu de l'interpréter.

Pouvez vous me dire comment je pourrais outrepasser ce problème ?

Merci.
--

Bonne journée.

Frederic Breassier

  • Partager ce contenu :
Vos réponses Page 1 / 3
Trier par : date / pertinence
Méta-MCI
Le #565439
Bonsoir !

Je suis désolé, mais je ne peux résister à la réponse suivante :



comment je pourrais outrepasser ce problème ?




En passant à Windows-XP ?


@+

Michel Claveau



Frédéric Breassier - News
Le #565436
Bonjour,

mdr, oui, j'avais effectivement pensé à ça aussi, mais comme je suis une
gros fenéant, je préfère créer un script compatible WXP et W98 plutot que de
réinstaller les quelques 100 postes sous 98 qui nous restent ;-)
... Sans compter sur le fait que je ne pense pas que mon patron soit
d'accord pour racheter 100 nouveaux pc....

Bon, plus sérieusement, personne n'aurait une p'tite idée de génie ;-)

Bonne journée.

Frederic Breassier



"Méta-MCI" news:
Bonsoir !

Je suis désolé, mais je ne peux résister à la réponse suivante :



comment je pourrais outrepasser ce problème ?




En passant à Windows-XP ?


@+

Michel Claveau










Gilles MOUGNOZ
Le #572335
Bonjour à tous.
J'ai besoin de vos lumières pour une connerie très simple :
J'ai un batch dans lequel je défini des variables qui contiennent un signe
Du genre :
set URL=www.site.com/index.php?user=toto

Pas de soucis sous Windows XP, il la prend bien, par contre sous 98, je
me retouve avec une erreur de Syntax.
J'ai bien essayé de mettre un ^ devant le =, mais rien n'y fait, le shell
continu de l'interpréter.
Pouvez vous me dire comment je pourrais outrepasser ce problème ?
Merci.
--
Bonne journée.
Frederic Breassier


Bonjour, Frédéric

Je vais peut-être dire une grosse bêtise mais n'est-il pas possible
d'entourer la chaîne avec des guillemets ?

set URL= " www.site.com/index.php?user=toto "

A moins de transformer le = par son code hexa...
Pour ce qui est de la solution de M.CLAVEAU, c'est parfaitement ridicule !
Attend carrément Vista... ;-)

Bonne continuation


Frédéric Breassier - News
Le #572334
Bonjour à vous,

je viens d'essayer, mais les " sont prise dans la variable elle même, et la
commande set plante toujours quand elle vois le = :(

Pour le code ascii, j'y ai bien pensé, mais je ne vois pas comment intégrer
des codes ascii dans les bat.

Pour M.CLAVEAU, je ne veux surtouut pas déclencher de guerre ouverte sur ce
ng ;)
Mais d'un côté il n'a pas tord, un parc hétérogène m'aurait simplifé la vie
.... ;)

Enfin, on ne fait pas que ce qu'on veux, le chef demande, le technicien met
en place :p

--

Bonne journée.

Frederic Breassier
"Gilles MOUGNOZ"
Bonjour à tous.
J'ai besoin de vos lumières pour une connerie très simple :
J'ai un batch dans lequel je défini des variables qui contiennent un
signe >> Du genre :
set URL=www.site.com/index.php?user=toto
Pas de soucis sous Windows XP, il la prend bien, par contre sous 98, je
me retouve avec une erreur de Syntax.
J'ai bien essayé de mettre un ^ devant le =, mais rien n'y fait, le shell
continu de l'interpréter.
Pouvez vous me dire comment je pourrais outrepasser ce problème ?
Merci.
--
Bonne journée.
Frederic Breassier


Bonjour, Frédéric

Je vais peut-être dire une grosse bêtise mais n'est-il pas possible
d'entourer la chaîne avec des guillemets ?

set URL= " www.site.com/index.php?user=toto "

A moins de transformer le = par son code hexa...
Pour ce qui est de la solution de M.CLAVEAU, c'est parfaitement ridicule !
Attend carrément Vista... ;-)

Bonne continuation




Gilles MOUGNOZ
Le #572333
Bonjour à vous,
je viens d'essayer, mais les " sont prise dans la variable elle même, et
la commande set plante toujours quand elle vois le = :(
Pour le code ascii, j'y ai bien pensé, mais je ne vois pas comment
intégrer des codes ascii dans les bat.
Pour M.CLAVEAU, je ne veux surtouut pas déclencher de guerre ouverte sur
ce ng ;)
Mais d'un côté il n'a pas tord, un parc hétérogène m'aurait simplifé la
vie .... ;)
Enfin, on ne fait pas que ce qu'on veux, le chef demande, le technicien
met en place :p
--
Bonne journée.
Frederic Breassier


Re-bonjour,

De quel type est ta variable URL ?
La solution est peut-être de passer par une variable texte intermédiaire que
tu affecterais à ta variable URL.
Concernant M.CLAVEAU, ma remarque était plus ironique que polémique ;-)
Et même si tu convaincs ton chef, ton PDG et SURTOUT le chef comptable de
migrer ton parc informatique, cela ne se fera pas en une fois et tu risques
de te retrouver avec du XP et du Vista, donc toujours hétérogène (même si
les incompatibilités seront probablement réduites).

Bonne continuation

Georges
Le #572332
Bonjour,
Dans une Url on peut mettre le code ascii transformé en hexa et précédé de %
Cela donnera :
set URL=www.site.com/index.php?user%3Dtoto

Reste à vérifier que cela fonctionne...

Cordialement
Georges


"Frédéric Breassier - News" écrit dans le message de news:
Bonjour à vous,

je viens d'essayer, mais les " sont prise dans la variable elle même, et
la commande set plante toujours quand elle vois le = :(

Pour le code ascii, j'y ai bien pensé, mais je ne vois pas comment
intégrer des codes ascii dans les bat.

Pour M.CLAVEAU, je ne veux surtouut pas déclencher de guerre ouverte sur
ce ng ;)
Mais d'un côté il n'a pas tord, un parc hétérogène m'aurait simplifé la
vie .... ;)

Enfin, on ne fait pas que ce qu'on veux, le chef demande, le technicien
met en place :p

--

Bonne journée.

Frederic Breassier
"Gilles MOUGNOZ"
Bonjour à tous.
J'ai besoin de vos lumières pour une connerie très simple :
J'ai un batch dans lequel je défini des variables qui contiennent un
signe >>> Du genre :
set URL=www.site.com/index.php?user=toto
Pas de soucis sous Windows XP, il la prend bien, par contre sous 98, je
me retouve avec une erreur de Syntax.
J'ai bien essayé de mettre un ^ devant le =, mais rien n'y fait, le
shell continu de l'interpréter.
Pouvez vous me dire comment je pourrais outrepasser ce problème ?
Merci.
--
Bonne journée.
Frederic Breassier


Bonjour, Frédéric

Je vais peut-être dire une grosse bêtise mais n'est-il pas possible
d'entourer la chaîne avec des guillemets ?

set URL= " www.site.com/index.php?user=toto "

A moins de transformer le = par son code hexa...
Pour ce qui est de la solution de M.CLAVEAU, c'est parfaitement ridicule
! Attend carrément Vista... ;-)

Bonne continuation








Michel Claveau
Le #572331
Bonsoir !

le chef demande, le technicien met en place
Il te reste à devenir chef à la place du chef.




--
@-salutations

Michel Claveau



Michel Claveau
Le #572330
Bonsoir !

Attention : pour les batch, les guillemets sont littéraux. Les chaines
et valeurs sont délimitées par le retour chariot (ou quelques
caractères clefs, comme le filtre (|) les redirections (<>) etc.

Pour le reste, je suis d'accord. Et, même, il faudrait attendre le SP-1
de Vista (avec WinFS).

En plus, ça laissera le temps de renouveler le parc (et le chef).

@+

MCI


--
@-salutations

Michel Claveau
Michel Claveau
Le #572329
Bonsoir !

Ca ne marchera pas, car %3 sera pris comme le troisième paramètre du
batch.

@+

MCI

--
@-salutations

Michel Claveau
Méta-MCI
Le #572328
Bonsoir !


Je n'ai plus de W98, et je ne vais pas chez un client qui en a, avant
plusieurs jours. Donc, je ne peux tester.


Néanmoins, pourrais-tu essayer ceci :

fichier ess8a.bat :
@echo off
call ess8b echo %URL%


fichier ess8b.bat :
set URL=%*



Lancer essa.bat, et voir si URL contient bien le caractère




@+

MCI
Poster une réponse
Anonyme