BATCH Brauche Hilfe für net send Allgemein 

Status
Für weitere Antworten geschlossen.

Pizza92

Registered +
Registriert
Jan. 2009
Beiträge
53
Hallo,
ich hab n programm geschrieben damit man in unserem computerraum in der schule über net send nachrichten senden kann. und eigentlich will ich ja, dass man nur noch den namen des schülers der davor sitzt eingeben muss.
mein problem is nur dass in meinem programm n fehler is und ich nicht weiß was ich falsch gemacht hab.
Wär nett, wenn mir jemand helfen könnte!!!

(is nur n teil vom programm)
(wundert euch nicht bei manchen namen, sind bloß spitznamen)

Code:
@echo off
set /p Hase=K22PC34 >NUL
set /p Abold=K22PC27 >NUL
set /p Hannes=K22PC29 >NUL
set /p Eigler=K22PC11 >NUL
set /p Fabi=K22PC25 >NUL
set /p Robin=K22PC13 >NUL
set /p Domi=K22PC09 >NUL
set /p Fischa=K22PC12 >NUL
set /p Ivo=GYMMOD-90A9LXQF >NUL
set /p Brugger=K22PC30 >NUL
set /p Josi=K22PC26 >NUL
set /p Steve=K22PC28 >NUL
set /p Dani=K22PC06 >NUL
set /p Saskia=K22PC08 >NUL
set /p Luisa=K22PC02 >NUL
set /p Sandra=K22PC21 >NUL
pause
echo.
echo.
echo Welchem Schueler moechtest du eine Nachricht senden?
set /p a=
if %a%==Hase goto Hase
if %a%==Abold goto Abold
if %a%==Hannes goto Hannes
if %a%==Eigler goto Eigler
if %a%==Fabi goto Fabi
if %a%==Robin goto Robin
if %a%==Domi goto Domi
if %a%==Fischa goto Fischa
if %a%==Ivo goto Ivo
if %a%==Brugger goto Brugger
if %a%==Josi goto Josi
if %a%==Steve goto Steve
if %a%==Dani goto Dani
if %a%==Saskia goto Sassi
if %a%==Luisa goto Luisa
if %a%==Sandra goto Sandra

:Hase
echo Welche Nachricht?
set /p b=
echo Senden...
pause
net send %Hase% %b%
echo Gesendet...
echo Zurueck...
goto start

:Abold
echo Welche Nachricht?
set /p c=
echo senden...
pause
net send %Abold% %c%
echo gesendet...
echo zurueck..
goto start

:Hannes
echo Welche Nachricht?
set /p d=
echo Senden...
pause 
net send %Hannes% %d%
echo gesendet...
echo zurueck...
goto start

:Eigler
echo Welche Nachricht?
set /p e=
echo Senden...
pause
net send %Eigler% %e%
echo gesendet..
echo zurueck..
goto start

:Fabi
echo Welche Nachricht?
set /p f=
echo Senden...
pause
net send %Fabi% %f%
echo gesendet...
echo zurueck..
goto start

:Robin
echo Welche Nachricht?
set /p g=
echo senden...
pause
net send %Robin% %f%
echo gesendet...
echo zurueck...
goto start

...usw


mfg Ivo92
 
Zuletzt bearbeitet von einem Moderator:
Was geht denn nicht?

Weil üblich schaltet man den Netsend Befehl ab. Der admin der das nicht macht sollte geschlagen werden. Zumindest an Schulen.
 
ne der lehrer hat den dienst eben nicht abgeschaltet!!
und wenn ich des programm ausführ dann erscheint immer irgendwas dass man keine dateien verschicken kann

hat das vielleicht irgendwas mit den variablen zu tun?? z.b. %josi% oder so ???
 
Zuletzt bearbeitet von einem Moderator:
Wie waers denn damit?

Code:
@echo off
echo Folgende Schueler gibt es: Abold, Brugger, Dani, Domi, Eigler, Fabi, Fischa, Hannes, Hase, Ivo, Josi, Luisa, Robin, Sandra, Saskia, Steve.

set /P schueler= Welchem Schueler moechtest du eine Nachricht senden? 
set /P nachricht= Welche Nachricht? 
set rechner=Fehler

if /I "%schueler%"=="Abold" set rechner=K22PC27
if /I "%schueler%"=="Brugger" set rechner=K22PC30
if /I "%schueler%"=="Dani" set rechner=K22PC06
if /I "%schueler%"=="Domi" set rechner=K22PC09
if /I "%schueler%"=="Eigler" set rechner=K22PC11
if /I "%schueler%"=="Fabi" set rechner=K22PC25
if /I "%schueler%"=="Fischa" set rechner=K22PC12
if /I "%schueler%"=="Hannes" set rechner=K22PC29
if /I "%schueler%"=="Hase" set rechner=K22PC34
if /I "%schueler%"=="Ivo" set rechner=GYMMOD-90A9LXQF
if /I "%schueler%"=="Josi" set rechner=K22PC26
if /I "%schueler%"=="Luisa" set rechner=K22PC02
if /I "%schueler%"=="Robin" set rechner=K22PC13
if /I "%schueler%"=="Sandra" set rechner=K22PC21
if /I "%schueler%"=="Saskia" set rechner=K22PC08
if /I "%schueler%"=="Steve" set rechner=K22PC28

if "%rechner%"=="Fehler" ( 
echo Gib bitte einen anderen Namen ein, "%schueler%" existiert nicht.
) else ( 
net send %rechner% %nachricht%
)

Das funktioniert auf jeden Fall, wie es soll.

Es koennte aber auch sein, dass der net send Befehl zwar existiert, aber der Nachrichtendienst trotzdem deaktiviert ist, wie es z.B. bei mir der Fall war. Es kam immer:
Beim Senden einer Nachricht an xxx.xxx.xxx.xxx trat ein Fehler auf.

Der Nachrichtenalias konnte auf dem Netzwerk nicht gefunden werden.

Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 2273 eingeben.


PS:
hat das vielleicht irgendwas mit den variablen zu tun??
Ich denke schon.
Ich kenne mich mit Batch zwar nicht aus, aber ich schaetze mal, du wendest den set /p Befehl da oben bei den Rechnernamen falsch an.
Vor allem ist der /p Parameter hier komplett ueberfluessig.
 
Zuletzt bearbeitet von einem Moderator:
Das set /p am anfang stimmt nicht, das ist richtig. /p ist für benutzereingabe. wenn du das so verwendest funktioniert das nur mit einer Pipe... Ist meiner Meinung nach aber unschön.
Code:
set Hase=K22PC34
reich volkommen ;)
Wenn du wissen willst ob der Net Send befehl funktioniert sende einfach mal eine Nachricht an dich selbst:
Code:
net send 127.0.0.1 Testnachricht
 
Das set /p am anfang stimmt nicht, das ist richtig. /p ist für benutzereingabe.
Ja eben.

Code:
set /p Hase=K22PC34 >NUL
Hase hat nun mal den Rechnernamen K22PC34. Was will man da mit ner Benutzereingabe?


Ich hab mal probeweise sowas gemacht:
Code:
@echo off
set /p test=hallo > NUL
echo %test%
Dann wartet er auf meine Eingabe und ueberschreibt das hallo damit.

Das kann doch aber nicht der Sinn sein?

PS: Nachricht an mich selbst per localhost hat nicht geklappt. Ich musste die "richtige" Adresse nehmen, 192.168.xxx.xxx bzw. den Rechnernamen im Netzwerk.
 
Danke für eure Hilfe!!! Echt nett, dass ihr euch die Mühe gemacht habt!!!
:thx: :thx:

@mod
Thema kann geschlossen werden, hat sich erledigt!!


mfg Ivo92
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten