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. 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. 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. 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. 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. 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