Partage
  • Partager sur Facebook
  • Partager sur Twitter

Bloquer sur simple fichier batch.

    5 mai 2019 à 12:41:04

    Bonjour à toutes et à tous,

    Voilà je me lance dans la programmation en solo depuis peu.

    Je voulais me créer un simple petit fichier batch en notepad++ dans un premier temps mais je suis bloqué dans la parti la plus importante.

    Je voulais également tester sans risque se que j'ai déjà écrit dans mon script.

    Je fais donc appel au expert dans ce domaine pour m'aider a poursuivre mon fichier.

    Je ne demande jamais d'aide habituellement c'est la première fois que je poste sur un site donc si vous avez besoin d'information supplémentaire n’hésitez pas a me le faire savoir.

    Merci à toutes et à tous pour votre aide.

    Cordialement.

    Benoit.

    • Partager sur Facebook
    • Partager sur Twitter
      5 mai 2019 à 15:28:26

      Salut

      Ce n'est pas une info supplémentaire mais essentielle : quelle est cette partie la plus importante ?

      N'oublies pas que si tu vois ton écran, nous, non. Donc, à part de la voyance, on ne pourra pas t'aider.

      • Partager sur Facebook
      • Partager sur Twitter
        5 mai 2019 à 17:23:24

        Ha oui exact je mettrais mon fichier dans le commentaire je ne sais pas comment m'expliquer
        • Partager sur Facebook
        • Partager sur Twitter
          7 mai 2019 à 12:50:14

          Voila se que j'ai déjà fais. Merci pour votre aide.
          • Partager sur Facebook
          • Partager sur Twitter
            7 mai 2019 à 20:53:03

            Salut,

            Copie-colle ton code avec la balise code (je ne sais pas quel type de code choisir entre powershell, bash et vb, je dirais vb). Au moins on pourra copier le code pour le tester.

            Après, je ne connais pas bien batch, mais, ça a l'air relativement facile. Si je comprends bien, dans ton programme, tu demandes à l'utilisateur de choisir ce que doit faire le script, en fonction du numéro inscrit, ça appelle la fonction correspondante.

            Ce que je ferais en pseudo-code :

            Fonction une()
                Actions de la fonction une
            
            Fonction deux() # etc.
            
            Ton programme
            écrire sur plusieurs lignes(
                "Tapez 1 pour lancer la fonction une
                 Tapez 2 ...
                "
            reponse = lire("écrivez votre réponse : ")
            SI reponse est 1:
                appeler fonction une
            SINON SI reponse est 2:
                appeler fonction deux

            Et aussi, je n'ai pas vérifié, mais, s'il y a un peu de logique, goto permet de déplacer le curseur du programme à l'endroit demandé. Dans ton code, si la ligne 16 est vraie, ça va en ligne 21. Pour revenir à la demande, tu devras mettre un goto pour aller en ligne 15. Ce n'est pas une bonne idée. Le mieux est de construire tes fonctions avant de les appeler, et pour appeler une fonction c'est avec call. Toi tu fais ça :

            goto :direBonjour
            :direBonjour
            echo "Salut"

            Je te propose (avec indentation pour améliorer la lecture) :

            :direBonjour
                echo "Salut"
            
            call :direBonjour

            De plus, j'ai l'impression que dans le premier code, la fonction direBonjour ne sera jamais lancée.



            • Partager sur Facebook
            • Partager sur Twitter
              10 mai 2019 à 17:44:08

              Bonjour et merci a toi Le Cobriste 128 de m'aider.

              Pour répondre a ta question:

              "Après, je ne connais pas bien batch, mais, ça a l'air relativement facile. Si je comprends bien, dans ton programme, tu demandes à l'utilisateur de choisir ce que doit faire le script, en fonction du numéro inscrit, ça appelle la fonction correspondante."

              Oui c'est exactement sa tu a compris.

              par contre moi je suis vraiment débutant juste au début du programme "apprenez a programmer en python" de "openclassrooms, alors oui je sais bien que se que j'ai fais n'est pas du python mais je m’amuse en testant des truc.

              pour faire se début de script j’ai utilisé "Notepad++" que dois je faire pour mettre mon code avec une balise pour reprendre ta question "Copie-colle ton code avec la balise code (je ne sais pas quel type de code choisir entre powershell, bash et vb, je dirais vb)."

              Par la même occasion ne m'en veut pas mais je n'ai rien compris a ton code je n'arrive même pas a trouver le type de code que tu a mis.

              Pour mon code je souhaiterais effectivement qu'il s'ouvre en "powershell" mais la encore je trouverais comment faire plus tard.

              Ou dois je mettre "goto" en ligne 15 avant ou après "set" je vu que pour toi se n'est pas une bonne idée mais je voudrais tenté et testé mon script mais je sais pas comment faire non plus.

              Je pense que le codage n'est pas pour moi, je vais me contenter de continuer a dépanner les PC.

              Merci de ton aide, je reste à ta disposition.

              Cordialement.

              Benoit.

              • Partager sur Facebook
              • Partager sur Twitter
                10 mai 2019 à 20:50:52

                Salut

                Non, t'inquiètes pas, il te faut un peu de rigueur pour t'améliorer en prog.

                Concernant les codes source, pour vulgariser, l'ordi analyse le code séquentiellement du début à la fin. Mais, pour éviter les répétitions on peut utiliser ou créer des fonctions. En batch, une fonction se créé ainsi :

                :nomFonction
                    instruction 1
                    instruction 2
                    [...]
                    instruction n

                Quand l'ordi lit le code ci-dessus, il garde en tête qu'il est probable qu'on utilise la fonction nomFonction, l'ordi ne fait rien, il sait juste que la fonction existe. On met les créations de fonctions généralement en haut du code.

                Appeler une fonction, d'abord, il faut qu'elle existe, qu'elle soit créée (vu ci-dessus), ensuite, on utilise un terme exigé par le langage, ici dans batch, c'est le mot "call" :

                call :nomFonction

                C'est à ce moment que l'ordi active la fonction, l'ordi exécute les instructions.

                Le terme "goto" signifie "aller à (vers)", on met une étiquette, par exemple ":ici", on fait : goto :ici, et l'ordi va à la ligne :ici et continue sa lecture. goto n'existe quasiment plus, et on utilise les boucles tant que (while), faire ... tant que (do ... while), pour (for).

                Sinon, pourquoi batch, ou powershell ? C#, si uniquement Windows, Python, ou autre pour la portabilité entre systèmes d'exploitation ne serait pas mieux ? De plus, si tu apprends un des derniers langages, tu pourras plus facilement apprendre batch ou powershell si tu en as vraiment besoin.

                • Partager sur Facebook
                • Partager sur Twitter
                  10 mai 2019 à 21:56:08

                  Merci Le Corbiste 128 pour toutes ses info et détails.

                  J'ai visiblement du mal avec les Termes de code.

                  En faite je voulais le faire pour qu'il s'ouvre avec powershell car j'utilise souvent ses commandes "sfc /scannow", et les trois commande principale de "DISM" je voulais juste les automatisés dans un seul programme ou l'on peut choisir d'exécuter les commande c'est un peut un test pour voir si j'en étais capable. Donc la je ne sais plus comment ni avec quoi créer se petit script qui me paraissait si simple au départ, je pensais que je n'avais plus qu'à mettre les commandes dedans mais je ne savais pas où. Je vais essayer de recommencer avec python j'ai commencé l'apprentissage avec celui-là. Merci encore pour tout.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 mai 2019 à 18:16:03

                    Bonsoir a vous Le Cobriste 128,

                    Je reviens vers vous car j'ai réussi à faire le petit programme que je voulais mais je l'ai fait en java donc un fichier en ".jar".

                    Mon problème est que je ne peut utiliser aucune commande que j'ai mis car il faut les exécuter en administrateur mais la fenêtre du CMD ne s'ouvre pas en administrateur.

                    Si je vous met mon code pourriez vous m'aider s'il vous plaît.

                    Cordialement.

                    Merci a vous.

                    Bonne soirée.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      23 mai 2019 à 20:55:21

                      Salut

                      Tu as essayé d'ouvrir la fenêtre CMD en mode admin, puis de lancer ton programme.

                      Je ne t'aiderai pas car je fais pas de Java, mais, poste un sujet avec ton code dans la rubrique Java des forums.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 mai 2019 à 9:47:03

                        Bonjour a toi,

                        Merci de ta réponse.

                        Effectivement je n'est pas essayé cette méthode car je ne la connais pas.

                        Comment fait on pour exécuter un programme dans le CMD en administrateur ?.

                        Pourrais tu me l'expliquer.

                        Je posterais quand même ma demande d'aide dans le forum Java.

                        Merci.

                        Bien à toi.

                        Benoit.

                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 mai 2019 à 14:31:06

                          Salut

                          S'il te plaît, fais un effort. Je n'ai pas dit de lancer le programme en admin. Quand tu veux accéder à CMD, tu y fais clic-droit "exécuter en tant qu'administrateur", ça l'ouvre en admin, puis tu recompiles en faisant : javac TonProg.java, puis, java TonProg.

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Bloquer sur simple fichier batch.

                          × 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