Création d'un batch pour imprimer

Fermé
guilich Messages postés 386 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 16 octobre 2017 - 15 janv. 2009 à 18:08
 fred - 20 janv. 2009 à 19:44
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
A voir également:

16 réponses

Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
20 janv. 2009 à 14:28
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
2
guilich Messages postés 386 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 16 octobre 2017 75
16 janv. 2009 à 09:18
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
guilich Messages postés 386 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 16 octobre 2017 75
16 janv. 2009 à 17:45
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
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
15 janv. 2009 à 18:14
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
0
guilich Messages postés 386 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 16 octobre 2017 75
16 janv. 2009 à 14:19
qu'en penses-tu ? c'est réalisable ça ?
0
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
16 janv. 2009 à 14:19
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
0
guilich Messages postés 386 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 16 octobre 2017 75
16 janv. 2009 à 14:25
non, il y a 4 fichiers différents, deux de type excel et deux de type word.
0
guilich Messages postés 386 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 16 octobre 2017 75
16 janv. 2009 à 14:31
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.
0
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
16 janv. 2009 à 14:46
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
0
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
16 janv. 2009 à 14:50
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
0
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
17 janv. 2009 à 13:49
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
0
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
0
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
18 janv. 2009 à 17:49
pour commencer met un message à part sur le forum ensuite niveau algorithme je suis pas fort
0
guilich Messages postés 386 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 16 octobre 2017 75
19 janv. 2009 à 14:18
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
0
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
0
guilich Messages postés 386 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 16 octobre 2017 75
20 janv. 2009 à 09:24
as-tu une idée du probleme ?

merci
0