Création d'un batch pour imprimer

Bonjour,

Je suis un apprenti dans la programmation, mais pour mon travail je souhaiterai créer un .bat qui permettrait d'imprimer plusieurs fichiers excel (2). je voudrais dans un premier temps savoir si cela est réalisable, et si oui, si quelqu'un pourrait m'orienter vers une piste.

Merci d'avance

16 réponses

  1. pour commencer, juste en dessous de la ligne
    echo Voulez-vous imprimer les fichiers suivants : (o=oui, q=quitter)
    

    la ligne correcte est :
    for %%A in (%fichier1% %fichier2%) do echo %%A
    

    ensuite, essaye :
    ensuite essaye CHOICE /C oq /N
    

    au lieu de
    CHOICE /C:oq /N ""
    


    voila
    1. Bonjour.

      Enfait, il y aurait deux fichiers excel, et deux fichiers word.

      ne serait-t-il pas possible de créer une liste. ou alors un batch qui en regrouperait plusieurs? du type

      executer 1.bat
      executer 2.bat
      executer 3.bat

      Merci beaucoup pour cette réponse rapide :)
      1. le gras n'apparait pas dans ton post.

        voici, selon moi ce qui correspond.

        @echo off

        rem Les noms des fichers à imprimer
        set fichier1=C:\couv.doc
        set fichier2=C:\couv5et.doc
        set fichier3=C:\tar5et.xls
        set fichier4=C:\tarif.xlsx

        rem Demande d'imprimer
        echo Voulez-vous imprimer les fichiers suivants : (o=oui, q=quitter)
        for %%A in (%fichier1% %fichier2% %fichier3% %fichier4%) do echo %%A%
        CHOICE /C:oq /N ""
        if errorlevel 2 goto quitter
        if errorlevel 1 goto imprimer

        rem Ne pas imprimer
        :quitter
        echo Vos documents n'ont pas été imprimé
        goto fin

        rem Imprimer
        :imprimer
        echo Impression en cours...
        for %%A in (%C:\couv.doc% %couv5et.doc% %tar5et.xls% %tarif.xlsx%) do print %%A%
        cls
        echo Impression terminée !

        :fin
        echo.
        echo Appuyez sur une touche pour terminer
        pause>nul

        Merci beaucoup pour ton aide qui m'est précieuse :)
        1. oui, c'est possible
          je peut te le faire si tu veux

          mais en batch, c'est vraiment inconfortable sauf si tu veux toujous imprimer les meme fichiers
          1. moi c'est alfred kouame je veux maitrisè world exel pour ma formation ntic.je veux aussi des documents,conseils qui pourron m'aidé au bsuccè du bts.je vous r'emercie
            1. oui mais ce sont toujours les même fichiers ?

              je te donne déja le nom de la fonction pour imprimer :
              PRINT </D:périphérique>[[lecteur:][chemin]nom_de_fichier[...]]
              
                 /D:périphérique   Spécifie un périphérique d'impression.
              

              Ce que je pourrais te faire aussi c'est un batch qui te propose une liste de fichiers et te demande si tu veux les imprimer un par un

              mais encore une fois, en batch c'est très inconfortable (question d'expérience) demande à un programmeur de te le faire en java ou en delphi
              1. non, il y a 4 fichiers différents, deux de type excel et deux de type word.
                1. ce serait quelque chose de ce type ?

                  PRINT </C:périphérique>[[lecteur:C][chemin]C:\Documents and Settings\dmpib\Bureau\Clientèle\tarifs DMPIB\tarif et couverture\Couverture tarif 5ET.doc]

                  \\Rnpaa85a6\AFICIO3030 Spécifie un périphérique d'impression.
                  1. non, imaginons que ton ficher est C:\Documents and Settings\dmpib\Bureau\Clientèle\tarifs DMPIB\tarif et couverture\Couverture tarif 5ET.doc

                    il faudrait mettre :
                    print C:\Documents%20and%20Settings\dmpib\Bureau\Clientèle\tarifs%20DMPIB\tarif%20et%20couverture\Couverture tarif%205ET.doc
                    


                    et eventuellement ajouter le périphérique de sortie, dans ce cas voici le code :

                    print /D:le périphérique D:\Documents%20and%20Settings\dmpib\Bureau\Clientèle\tarifs%20DMPIB\tarif%20et%20couverture\Couverture tarif%205ET.doc
                    
                    1. mais voici un code tout fait (de moi):

                      @echo off
                      
                      rem Les noms des fichers à imprimer
                      set fichier1=Ficher n°1
                      set fichier2=Ficher n°2
                      set fichier3=Ficher n°3
                      set fichier4=Ficher n°4
                      
                      rem Demande d'imprimer
                      echo Voulez-vous imprimer les fichiers suivants : (o=oui, q=quitter)
                      for %%A in (%fichier1% %fichier2% %fichier3% %fichier4%) do echo %%A%
                      CHOICE /C:oq /N ""
                      if errorlevel 2 goto quitter
                      if errorlevel 1 goto imprimer
                      
                      rem Ne pas imprimer
                      :quitter
                      echo Vos documents n'ont pas été imprimé
                      goto fin
                      
                      rem Imprimer
                      :imprimer
                      echo Impression en cours...
                      for %%A in (%fichier1% %fichier2% %fichier3% %fichier4%) do print %%A%
                      cls
                      echo Impression terminée !
                      
                      :fin
                      echo.
                      echo Appuyez sur une touche pour terminer
                      pause>nul
                      


                      ce code crée les variables dans lesquelles sont stockées les noms de fichiers (voir les parties en gras) et les affiches en demandant si il faut les imprimer (taper o pour oui, q pour quitter).

                      il faut bien sur modifier le texte en gras et (important) remplacer les espaces avec des %20
                      1. non ce n'est pas ça, tu t'es trompé, lors de l'impression tu as mis :
                        for %%A in (%C:\couv.doc% %couv5et.doc% %tar5et.xls% %tarif.xlsx%) do print %%A%
                        

                        or c'est
                        for %%A in (%fichier1% %fichier2% %fichier3% %fichier4%) do print %%A%
                        


                        ensuite, il ne faut pas mettre
                        for %%A in (%fichier1% %fichier2% %fichier3% %fichier4%) do print %%A%
                        

                        mais bien
                        for %%A in (%fichier1% %fichier2% %fichier3% %fichier4%) do print %%A
                        


                        pour la boucle for, il ne faut pas rajouter de % à la fin du nom de variable et bien en mettre deux avant

                        sinon c'est correct.

                        bonne continuation
                        1. slt je veux ecrir un algorithme qui demande d'entrée le prix unitaire d'un produit et la quantité acheté et qui affiche le montant a payer .faire en language structuré.merci d'avance
                          1. pour commencer met un message à part sur le forum ensuite niveau algorithme je suis pas fort
                            1. Bonjour,

                              merci encore pour ta réponse qui m'est d'une aide vraiment précieuse.

                              je pars sur l'idée d'une impression à deux fichiers plutôt, parce que ce ne sera pas pratique autrement.

                              @echo off
                              
                              rem Les noms des fichers à imprimer
                              set fichier1=C:\couv.doc
                              set fichier2=C:\couv5et.doc
                              
                              rem Demande d'imprimer
                              echo Voulez-vous imprimer les fichiers suivants : (o=oui, q=quitter)
                              for %%A in (%fichier1% %fichier2%) do print %%A%
                              CHOICE /C:oq /N ""
                              if errorlevel 2 goto quitter
                              if errorlevel 1 goto imprimer
                              
                              rem Ne pas imprimer
                              :quitter
                              echo Vos documents n'ont pas été imprimé
                              goto fin
                              
                              rem Imprimer
                              :imprimer
                              echo Impression en cours...
                              for %%A in (%C:\couv.doc% %couv5et.doc%) do print %%A
                              cls
                              echo Impression terminée !
                              
                              :fin
                              echo.
                              echo Appuyez sur une touche pour terminer
                              pause>nul


                              voilà le code, cependant, cela me fait une boucle "voulez-vous imprimer les fichiers suivants ?" qui ne s'arrête pas :s
                              1. slt tu parle de quel genr de bacht .stp revien sur la list des questions tu vera alfred repon a cette question si peux mercie d'avance

                            Discussions similaires

                            Batch installation

                            2 réponses