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,

      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
    2. pour commencer met un message à part sur le forum ensuite niveau algorithme je suis pas fort
      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. 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. 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. 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, 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. 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, il y a 4 fichiers différents, deux de type excel et deux de type word.
                    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. 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. 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, 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