Partage
  • Partager sur Facebook
  • Partager sur Twitter

Texte demandé à l'utilisateur: <>crash sur saisi

BATCH FILE

    4 octobre 2018 à 20:45:39

    Bonjour!  J'aimerais bien savoir comment fait-on pour prendre les chevrons dans un batch quand c'est l'utilisateur qui utilise le programme comme suit

    set /p input = "Votre texte : "

    Bref, je n'ai pas trouver la solution à mon problème. Quand l'utilisateur saisi : "<!DOCTYPE>", le .bat crash et se ferme sans retour.

    Merci d'avance! :D


    Rock

    • Partager sur Facebook
    • Partager sur Twitter
      4 octobre 2018 à 22:00:39

      Bonsoir,

      Chez moi ça fonctionne :

      D:\Users\XX>set /p input = "Votre texte : "
      Votre texte : <!DOCTYPE>
      
      D:\Users\XX>set /p input = "Votre texte : "
      Votre texte : "<!DOCTYPE>"
      
      D:\Users\XX>

      Ton problème vient d'en dessous du set /p (if ? echo ?), peux tu nous fournir ton code ?

      Je pense que l'expansion retardée de variable devrait résoudre ton problème, les caractères tel que <,!,> sont des caractères spéciaux en batch.

      • Partager sur Facebook
      • Partager sur Twitter
        5 octobre 2018 à 18:47:44

        Bonjour,

        En fonction de ce que l'utilisateur va saisir, les lignes 7 à 10 vont "crash" à cause de certains caractères spéciaux.

        Utilise l'expansion retardée de variable, cela devrait corriger ton problème.

        Ce sujet te sera également utile.

        Bonne lecture ;)

        • Partager sur Facebook
        • Partager sur Twitter
          7 octobre 2018 à 0:55:48

          Bonjour,

          L'auteur du sujet me fait part qu'il ne peut plus poster de message sur le topic.

          Je fais un petit UP en espérant que ça débloque son problème.

          • Partager sur Facebook
          • Partager sur Twitter
            7 octobre 2018 à 20:30:23

            Merci Zaibai,

            D'ailleurs mon problème initiale est partiellement réglé, mais en plus celui-ci aussi (du moins j'espère ;p ).

            Il y a un problème maintenant avec l'expansion, qui empêche l'utilisateur de saisir un espace entre double guillemets. :/ Ceci dit, voici mon code :

            @echo off
            setlocal EnableDelayedExpansion
            chcp 65001
            cls
            :a
            set /p x="Votre texte : "
            if /i "%x%" == "exit" goto end
            if /i "%x%" == "show" goto show
            if /i "%x%" == "show /stoptime" goto noTime
            echo !x! >> text.txt
            echo strip quotes: .!x:"=!.
            start text.txt
            timeout /t 2
            taskkill /im notepad.exe
            cls
            goto a
            
            :show
            start text.txt
            cls
            timeout /t 10 > nul
            taskkill /im notepad.exe
            cls
            goto a
            
            :noTime
            start text.txt
            cls
            echo Appuyer sur une touche pour continuer la saisi...
            timeout /t -1 > nul
            cls
            goto a
            
            :end



            Voilà donc si l'utilisateur entre : <div class="col-lg-3 col-md-6">

            Ça "crash". :/ Par ailleurs, je te re-merci encore énormément, mon avancé dans mon projet est grace à ta solution :)

            Rock

            -
            Edité par RockJoly 7 octobre 2018 à 20:31:51

            • Partager sur Facebook
            • Partager sur Twitter
              7 octobre 2018 à 21:47:39

              Bonsoir,

              Tu n'utilise pas l'expansion retardée de variable dans tes if.

              Remplace les %x% par !x! ;)

              • Partager sur Facebook
              • Partager sur Twitter
                7 octobre 2018 à 22:31:08

                Bonsoir!

                MERCI INFINIMENT! Je vais pouvoir procéder à ma prochaine étape de mon projet; Une indentation automatique, qui risque de me prendre du temps à trouver! Merci!!

                Rock

                • Partager sur Facebook
                • Partager sur Twitter

                Texte demandé à l'utilisateur: <>crash sur saisi

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown