IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Passage d'URL (avec '&') en paramètre à un batch


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    dev
    Inscrit en
    Juillet 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Juillet 2009
    Messages : 13
    Par défaut Passage d'URL (avec '&') en paramètre à un batch
    Bonjour

    Je cherche à passer une URL à mon script de test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @ECHO OFF
    
    set URL=%~1 rem développe %1 en supprimant les guillemets.
    
    echo %URL%
    Or lorsque cette URL possède des variables, séparées par des '&', cela ne marche plus et j'ai un message d'erreur
    test.bat "www.mon_site/service.php?var1=toto&var2=tyty"

    'var2' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    www.mon_site/service.php?var1=toto
    Est-ce que le '&' est un caractère réservé que je ne peux pas utiliser ?
    Existe il une façon de s'en sortir, sans modifier le paramètre car en production je n'en ai pas le contrôle.

    Merci
    a+

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 11
    Par défaut
    Salut Scalap, je ne sais pas comment tu recuprere ton Url, mais il suffis de faire preceder les caracteres utiliser par MsDos par un caractere d'echapement, celui-ci est le : ^

    Un petit example :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.google.fr/search?hl=fr&source=hp&q=jeux&btnG=Recherche+Google&meta=&aq=f&oq=
    deviendra :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.google.fr/search?hl=fr^&source=hp^&q=jeux^&btnG=Recherche+Google^&meta=^&aq=f^&oq=
    Ps, il faut donc remplacer tout les & par des ^& et les ù par des ^%

    Idem si tu reproduit un code Web, <body> .... </body> deviendra ^<body^> .....^</body^>

    J'espere que cela t'aurai aider ^^

  3. #3
    Membre averti
    Profil pro
    dev
    Inscrit en
    Juillet 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Juillet 2009
    Messages : 13
    Par défaut
    Salut forsites et merci pour ton aide

    En fait je n'ai pas la main sur le paramètre passé. Donc je suis bloqué.
    En plus il faudrait adapter le script en enlevant le '~' devant %1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @ECHO OFF
    
    set URL=%1
    
    echo %URL%
    Et on obtient :
    test.bat "www.mon.site.fr/service.php?var1=toto^&var2=tyty et tata"
    "www.mon.site.fr/service.php?var1=toto^&var2=ttyty et tata"
    Du coup les " ne sont plus enlever et le '^' reste également.

    Entant que développeur c++, je me suis donc retourné vers du lourd !!

    Merci a+

    PS : bien sur si la solution existe je suis preneur à 100%

  4. #4
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    salut,

    une des approches possibles:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set "var=<>&^%"
    for /f "tokens=1*delims==" %%a in ('set var') do echo.%%b

  5. #5
    Membre averti
    Profil pro
    dev
    Inscrit en
    Juillet 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Juillet 2009
    Messages : 13
    Par défaut
    Salut I'm_HERE

    alors j'ai écrit dans test.bat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @ECHO OFF
    
    set "var=<>&^%"
    for /f "tokens=1* delims==" %%a in ('set var') do echo %%b
    et j'obtiens cela en le lançant :
    D:\_Documents\_Code>test "début&fin"
    <>&^
    Je n'ai plus le message "[...] n'est pas reconnu en tant que commande interne [...]"
    Mais cela ne semble pas marché ! L'approche est peut être bonne mais je ne suis pas assez compétent pour l'appréhender.

    Pourrais-je avoir un peu plus de détail pour cette exemple.

    Merci
    A+

  6. #6
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    je ne sais pas ce que tu cherches à faire.., j'ai créer 2 batfile: untested1.bat va appeller untested2.bat en lui envoyant comme paramètre : "<|>&"

    untested1.bat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    call untested2.bat "<|>&"
    pause
    untested2.bat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @echo off
    
    set "var=%~1"
    for /f "tokens=1*delims==" %%a in ('set var') do echo.%%b

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Correction d'url avec &amp;
    Par defacta dans le forum Langage
    Réponses: 1
    Dernier message: 27/10/2011, 11h30
  2. fopen url avec passage de variable
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 24/05/2007, 16h18
  3. url avec des paramètres
    Par babalastar dans le forum JSF
    Réponses: 2
    Dernier message: 25/01/2007, 09h47
  4. Passage de login mot de passe dans l'URL avec IE6 sp2
    Par SPA dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/10/2005, 08h47
  5. Passage d'un tableau javascript en paramètres d'une URL
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 02/09/2005, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo