Gérer le forum: Aide • Rechercher • Liste des Membres • Groupes d'utilisateurs
• S'enregistrer
• Profil • Se connecter pour vérifier ses messages privés
• Connexion
| Auteur |
Message |
Faee
Forumeur fréquent


 Sexe: 
Messages: 53
|
Posté le:
Ven 28 Mai 2010 - 17:12 |
  |
Bonjour à tous,
Je viens de commencer mon stage en etreprise et, dans l'optique d'une entreprise sans papier, me voilà lancé dans la réalisation d'un petit programme.
Le principe est simple : envoyer un mail au service informatique avec les renseignements nécessaires pour une demande d'achat ou de remplacement de matériel.
J'ai décidé de le faire en batch mais c'est ma toute première fois. Après quelques recherches, voilà mon script qui doit sans doute être plein d'erreurs puisque je ne connais pas bien les syntaxes.
Sachant que j'aimerai enregistrer toutes mes variables dans un document corpdumail.txt avant d'envoyer le mail.
| Code: |
@echo off
title nouvelle demande d'achat
set /p societe=Societe ?
set /p nom=Nom ?
set /p prenom=Prenom ?
set /p login=Login ?
set /p service=Service ?
echo.
echo "Achat de Materiel"
echo.
:materiel
echo "Choisir le materiel a acheter"
set /p mat=(1:Portable --- 2:Bureau --- 3:Imprimante --- 4:Autre)
if %mat%==1(
:ok
set /p partic=Particularite du materiel informatique:
:modif
echo "Modification a apporter"
echo.
set /p install=Installation dun logiciel, dun pilote ou autre:
set /p acces=Acces a de nouveaux repertoires de travail:
echo fait le %date%
mail -s Nouvelle_demande_d_achat adressemailserviceinfo < corpdumail.txt
)
if %mat%==2(
goto :ok
)
if %mat%==3(
goto :ok
)
if %mat%==4(
goto :ok
)
echo "erreur de saisie, veuillez recommencer"
goto materiel
echo "appuyer sur une touche pour terminer."
pause |
Ce script plante (tout s'arrete mais sans freezer) et la console disparaît au niveau du if.
Merci de m'indiquer si possible mes erreurs et comment les corriger.
Faee |
_________________ 2010/2011 - BTS IG Lycée Eiffel
2009/2010 - BTS IG Lycée Eiffel
2008/2009 - Bac ES opt. maths Séction Européenne |
|
  |
|
N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire. |
Neelix
Forumeur fréquent


 Sexe: 
Messages: 77
Localisation: Vitré (35)
|
Posté le:
Dim 30 Mai 2010 - 04:35 |
  |
Salut,
Je suis loin d'être un pro en batch, mais c'était une sorte de challenge pour moi, alors voici un premier jet...
J'avoue que je me suis servi allègrement de ces deux pages comme référence :
Didacticiel sur les fichiers Batch
Quelques exemples de scripts Batch
Bon, je ne suis pas sûr d'avoir compris tout ce que tu voulais obtenir avec ce code, mais j'ai essayé...
Sinon, pour ce qui est de l'envoi par mail, je ne l'ai pas implémenté, mais je pense que tu vas devoir jeter un œil du côté de Blat pour y parvenir :
http://www.blat.net/
| Code: |
::
@echo off
:: Efface l’écran
cls
:: Ajoute un titre à la fenêtre
title [Nouvelle demande d'achat]
:: Définit la largeur et la hauteur de la fenêtre
@mode con: cols=70 lines=25
:: Définition des variables
:top
:: Efface l’écran
cls
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º º
echo º - FICHE DE RENSEIGNEMENTS - º
echo º º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.
set /p societe= * Soci‚t‚ ?
echo.
set /p nom= * Nom ?
echo.
set /p prenom= * Pr‚nom ?
echo.
set /p login= * Login ?
echo.
set /p service= * Service ?
echo.
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.
set /p rep=Votre saisie est-elle correcte (o/n) ?
if /i not "%rep%"=="o" goto top
:materiel
:: Efface l’écran
cls
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º º
echo º - ACHAT DE MAT�RIEL - º
echo º º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³ ³
echo ³ Choisir le mat‚riel … acheter : ³
echo ³ ³
echo ³ 1 === Portable ³
echo ³ ³
echo ³ 2 === Bureau ³
echo ³ ³
echo ³ 3 === Imprimante ³
echo ³ ³
echo ³ 4 === Autre ³
echo ³ ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p mat=Quel est votre choix (1, 2, 3 ou 4) ?
if ‘%mat%‘==‘1‘ (
set matos=Portable
goto ok
)
if ‘%mat%‘==‘2‘ (
set matos=Bureau
goto ok
)
if ‘%mat%‘==‘3‘ (
set matos=Imprimante
goto ok
)
if ‘%mat%‘==‘4‘ (
set matos=Autre
goto ok
)
echo.
echo ^!^!^! ERREUR DE SAISIE ^!^!^!
echo.
pause
goto materiel
:ok
:: Efface l’écran
cls
echo.
echo Mat‚riel : %matos%
echo.
set /p partic=Particularit‚ du mat‚riel informatique :
echo.
echo Modification … apporter
echo.
set /p install=Installation d'un logiciel, d'un pilote ou autre :
echo.
set /p acces=AccŠs … de nouveaux r‚pertoires de travail :
(
@echo Demande faite le %date%
@echo ===========================
@echo/
@echo Société : %societe%
@echo Nom : %nom%
@echo Prénom : %prenom%
@echo Login : %login%
@echo Service : %service%
@echo/
@echo Type de matériel : %matos%
@echo/
@echo Particularité du matériel informatique :
@echo %partic%
@echo/
@echo Modification à apporter
@echo/
@echo Installation d'un logiciel, d'un pilote ou autre :
@echo %install%
echo/
@echo Accès à de nouveaux répertoires de travail :
@echo %acces%
) > corpdumail.txt
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º º
echo º FICHIER "corpsdumail.txt" PRÒT · ÒTRE ENVOY� PAR MAIL... º
echo º º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
pause
|
|
_________________ Neelix |
|
  |
|
Faee
Forumeur fréquent


 Sexe: 
Messages: 53
|
Posté le:
Dim 30 Mai 2010 - 11:27 |
  |
Bonjour,
Merci beaucoup de ta réponse, tu as tout à fait cerné ce que je voulais comme résultat final.
Je n'ai plus qu'à faire des petites recherches pour l'envoi du mail en commençant par ton lien.
Encore merci.
Faee |
_________________ 2010/2011 - BTS IG Lycée Eiffel
2009/2010 - BTS IG Lycée Eiffel
2008/2009 - Bac ES opt. maths Séction Européenne |
|
  |
|
|
|
|
Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|