Batch [Fermé]

Signaler
-
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
-
Bonjour,
bonjours a tous, je voudrai faire un fichie. bat de la commande net send! pour ne pas devoir tout le temps la retaper !!!

pour le moment j ai ecrit ca :

@echo off
echo *************************************
echo Envoye un message via le reseau local
echo *************************************
echo.
echo 1. donne le nom du destinataire
echo ------------------------------------
echo.
echo alice (tape a)
echo salon (tape b)
echo papa (tape c)
echo bernard (tape d)
echo TOUS (tape e)
echo.
set a=192.168.1.102
set b=192.168.1.101
set c=192.168.1.103
set d=192.168.1.100
set e=*
echo.
echo (P.S: si destinataire non-repertorie, donne directement son identifiant.)
echo.
set /p dest=
echo.
echo 2. donne un message
echo -----------------------
echo.
set /p mess=
echo.
net send %dest% %mess%
echo.
pause


Voila, le probleme est au niveau des variable: qd je tape a,b,c,d ou e, celle ci non pas enregistre l adresse ip que je leur est donné au part avant il y a donc quelques petits probs pour ce qui est de trouve l alias :p

merci d avance

2 réponses

Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
124
Bonjour,

Si j'ai bien compris le problème tu souhaites que l'action clavier qui consiste à saisir une des lettres; a, b, c, d puis valider active le "contenu" de ces variables au moment de l'exécution de la commande :
net send %dest% %mess%

Si c'est ce que tu veux faire, je te propose cela :
J'ai nécessairement remplacé la commande net send par une commande ECHO

<code>@echo off
echo *************************************
echo Envoye un message via le reseau local
echo *************************************
echo.
echo 1. donne le nom du destinataire
echo ------------------------------------
echo.
echo alice (tape a)
echo salon (tape b)
echo papa (tape c)
echo bernard (tape d)
echo TOUS (tape e)
echo.
rem set a=192.168.1.102
rem set b=192.168.1.101
rem set c=192.168.1.103
rem set d=192.168.1.100
rem set e=*
echo.
echo (P.S: si destinataire non-repertorie, donne directement son identifiant.)
echo.
set /p dest=
if "%dest%"      == "a"  (set x=ECHO  net send : 192.168.1.102 mess :
) ELSE (
   if "%dest%"   == "b"  (set x=ECHO  net send : 192.168.1.101 mess :
) ELSE (
   if "%dest%"   == "c"  (set x=ECHO  net send : 192.168.1.103 mess :
) ELSE (
   if "%dest%"   == "d"  (set x=ECHO  net send : 192.168.1.100 mess :
) ELSE (
   if "%dest%"   == "e"  (set x=ECHO  net send : * mess :
) ELSE                   (set x=ECHO  net send : %dest% mess :    ) ))))
echo.
echo 2. donne un message
echo -----------------------
echo.
set /p mess=
echo.
REM net send %dest% %mess%
SET "x=%x% %mess%"
 %x%

echo.
pause


--
Cordialement.

Cchristian.
je n avai pas pense a faire des condition comme ca :p, je restai bloque a essaye de resoudre mon probleme, pluto que d'essaye de le contourne ^^
en tout cas, un grand merci pour ton aide, et je vai alle voir si ca marche tout de suit :d
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
124
Bonsoir,

Oui, quand on est sur un problème il n'est pas rare qu'on focalise, on se pourrit la tête, et bien souvent ce que l'on appelle un "oeil neuf" quelqu'un qui n'est pas impliqué dans le problème, amène une solution qui semble évidente. C'est pour ça, le travail ou une activité en équipe, ça a du bon ! ..........