Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Problem mit NetSending-Programm!

Mitglied: MiniMilk

MiniMilk (Level 1) - Jetzt verbinden

30.01.2006, aktualisiert 15:05 Uhr, 4739 Aufrufe, 5 Kommentare

Ich habe mich letztens einmal an das Programmieren von Batch Dateien herangetraut, und habe es auch schon einigermaßen verstanden. Nur bei meinem neusten Versuch weiß ich wirklich nicht wo der Fehler liegen soll! (Ich hoffe ihr könnt mir helfen.)
Es handelt sich dabei um ein Programm, dass die Arbeit um den Befehl "net send" erleichtern soll.


NetSender:

<font class="code">
@ECHO OFF
:START
cls
SET line01=- - - - - - - - - - - - - - - - -
SET line02
SET line03=- -
SET line04=- - - - - - Attention - - - - - -
echo.
echo %line02%
echo NetSender v3
echo %line02%
echo 01 / 29 / 2006
echo.
pause


:STEP1
echo.
echo.
echo Welches Betriebssystem ist auf ihrem Rechner installiert?
echo [winxp] for Windows XP
echo [winxl] for Windows XP (Addon)
echo [win2k] for Windows 2000
echo [win98] for Windows 98
echo.

:STEP1EINGABE2x
set /p win=Auf meinem Rechner laeuft:
IF %win%==winxp (GOTO :STEP1EINGABE) ELSE (GOTO :1STSTEP1EINGABE2x)
:1STSTEP1EINGABE2x
IF %win%==winxl (GOTO :STEP1EINGABE) ELSE (GOTO :2NDSTEP1EINGABE2x)
:2NDSTEP1EINGABE2x
IF %win%==win2k (GOTO :STEP1EINGABE) ELSE (GOTO :3RDSTEP1EINGABE2x)
:3RDSTEP1EINGABE2x
IF %win%==win98 (GOTO :STEP1EINGABE) ELSE (GOTO :4THSTEP1EINGABE2x)
:4THSTEP1EINGABE2x
GOTO :STEP1EINGABE2x

:STEP1EINGABE
IF %win%==winxp (GOTO :SWINXP) ELSE (GOTO :NEXTONE)
:SWINXP
set winr=Windows XP
GOTO :NEXTFOUR

:NEXTONE
IF %win%==winxl (GOTO :SWINXL) ELSE (GOTO :NEXTTWO)
:SWINXL
set winr=Windows XP
GOTO :NEXTFOUR

:nexttwo
IF %win%==win2k (GOTO: SWIN2K) ELSE (GOTO :NEXTTHREE)
:SWIN2K
set winr=Windows 2k
GOTO :NEXTFOUR

:NEXTTHREE
if %win%==win98 (GOTO :SWIN98)
:SWIN98
set winr=Windows 98
GOTO :NEXTFOUR

:NEXTFOUR
echo.
echo STATUS:
IF %win%==winxp (GOTO :STEP1STATUSOK) ELSE (GOTO :STEP1STATUSNK)

:STEP1STATUSOK
net stop Nachrichtendienst >nul
net start Nachrichtendienst
pause
:STEP1STATUSNK

:STEP2
cls
echo.
echo An welche User in deinem Netzwerk soll die
echo Nachricht gesendet werden?
echo.
echo.
echo %line04%
echo %line03%
echo - Mehrere User bitte durch ein -
echo - Leerzeichen trennen... -
echo %line03%
echo %line01%
echo.
echo.
echo Trage hier bitte die User ein:
set /p user=
echo.

:STEP3
cls
echo.
echo Welche Nachricht willst den Usern senden?
echo.
echo.
echo %line04%
echo %line03%
echo - Da is nix zu beachten -
echo %line03%
echo %line01%
echo.
echo.
echo Deine Nachricht:
set /p msg=
echo.

:STEP4
cls
echo.
echo Willst die Nachricht als Spam senden?
echo.
echo.
echo %line04%
echo %line03%
echo - Die Nachricht hoert erst auf -
echo - zu senden, wenn sie das -
echo - Programm schliessen!!! -
echo %line03%
echo %line01%
echo.
echo.

:STEP4EINGABE2x
echo Ja [J] oder Nein [N]:
set /p spam=
if %spam%==j,J (GOTO :STEP4AN) ELSE (GOTO :STEP4AUS)

:STEP4AUS
SET hae=AUS
GOTO :STEP4END

:STEP4AN
SET hae=AN

:STEP4END
if %spam%==j,n,J,N (GOTO :STEP5) ELSE (GOTO :STEP4EINGABE2x)


:STEP5
cls
echo.
echo Willst du den PC nach der Beendigung dieses
echo Programms herunterfahren?
echo.
echo %line04%
echo %line03%
echo - Da gibts nix zu beachten! -
echo %line03%
echo %line01%
echo.
echo.
echo Ja [J] oder Nein [N]:
:STEP5EINGABE2x
set /p step=
if %step%==j,J (GOTO :STEP5AN) ELSE (GOTO :STEP5AUS)

:STEP5AUS
SET shutdoewn=AUS
GOTO :STEP5END

:STEP5AN
SET shutdoewn=AN

:STEP5END
if %step%==j,n,J,N (GOTO :STEP6) ELSE (GOTO :STEP5EINGABE2x)


:STEP6
cls
echo %line02%
echo Zusammenfassung von ihren Angaben
echo %line02%
echo.
echo Die Nachricht : %msg%
echo.
echo User : %user%
echo.
echo Spam : %hae%
echo.
echo %line02%
echo.
echo Ihr System : %winr%
echo.
echo Ihr CPU-Name : %computername%
echo.
echo Runterfahren : %shutdoewn%
echo.
echo %line02%
echo.
echo.
echo Wenn sie mit den Angaben zufrieden sind druecken
echo sie bitte eine beliebige Taste um fortzufahren!
pause>nul

:STEP7

if %spam%==J,j (GOTO :STEP7SPAM) ELSE (GOTO :STEP7NOSPAM)

:STEP7NOSPAM
cls
echo.
echo.
FOR %%u IN (%user%) DO net send %%u %msg%
echo.
echo.
echo.
echo %line02%
echo Vorgang abgeschlossen!
echo %line02%
echo.
echo by *** *.
echo mini.milk@gmx.net
echo %line02%
echo.
pause>nul
GOTO :STEP8

:STEP7SPAM
cls
:STEP7SPAMWIEDERHOLUNG
FOR %%u IN (%user%) DO net send %%u %msg%
GOTO :STEP7SPAMWIEDERHOLUNG

:STEP8
IF %step%==N,n (GOTO :STEP8NOSHUTDOWN) ELSE (GOTO :STEP8SHUTDOWN)

:STEP8NOSHUTDOWN
GOTO :ENDE

:STEP8SHUTDOWN
if %win%==winxp,winxl (GOTO :STEP8SHUTDOWNXP) ELSE (GOTO :STEP8SHUTDOWNOTHERS)

:STEP8SHUTDOWNXP
shutdown -s -f

:STEP8SHUTDOWNOTHERS
rundll32 shell32,SHExitWindowsEx 1

:ENDE
</font>

<link="http://shicurar.sh.funpic.de/netsender.rar;>Hier" könnt ihr euch es auch downloaden (RAR-Datei)</link>

Der Fehler ist, dass wenn man bei der Frage "Soll die Nachricht als Spam gesendet werden? / Soll der Rechner nach dem Beendigen des Programms herunterfahren" [J] für Ja eingibt, wird es in der Zusammenfassung [:STEP6] als "AUS" angegeben...

Danke schonmal im vorraus.
Mitglied: problemsolver
30.01.2006 um 14:40 Uhr
Hallo!

Ich würde dir erstmal raten den Befehlssyntax dir anzuschauen...
In deinem Code sind sehr sehr viele Fehler oder Ungereimtheiten drin...
Deshalb ist es schwierig hier schnell durchzusteigen...

Beispiel:

IF %step5%==N,n (GOTO :STEP8NOSHUTDOWN) ELSE (GOTO :STEP8SHUTDOWN)

kannst du auch so schreiben: (Groß und Kleinschreibung wird dann nicht drauf geachtet...)
IF /I %step5%==N GOTO :STEP8NOSHUTDOWN ELSE GOTO :STEP8SHUTDOWN

Weiteres Beispiel:
Die Implementierung des FOR Befehls...
FOR %%u IN (%user%) DO net send %%u %msg%

Das kann schon logisch nicht hinhauen... woher soll dein Script wissen wo er welche Benutzernamen herbekommen soll. Manche Benutzernamen haben auch eine Leerzeichen oder andere Zeichen... (z.B. DOMAENE\Hans Wurst)

Außerdem brauchst du das Rad nicht neu zu erfinden. Diese Sache wurde schon durch verschiedenste Freewareprogramme gelöst...

Hoffe, dass ich trotzdem helfen konnte...

Gruß

M.
Bitte warten ..
Mitglied: Biber
30.01.2006 um 14:51 Uhr
Moin MiniMilk,

ohne dass ich das ganze Skript ausprobiert habe ...(hatte nur Sichtkontakt)
..ich denke, die Programmlogik kommt durcheinander bei den "IF ...==" -Prüfungen.

Falsch: if %step%==j,n,J,N ...oder.. if %spam%==j,J

Richtig: if /i %spam%==J
(Parameter /i bedeutet: Ignoriere Klein/Großschreibung)

Richtiger: Auf beiden Seiten des Vergleichsoperators "einklammern" mit beliebigen Zeichen.
if /i [%spam%]==[J]
oder
if /i @%spam%@=@J@ oder so, dass es halbwegs lesbar bleibt.
Grund1: Sollte %spam% ais irgendwelchen Gründen leer/nicht gesetzt sein, würde bei Auflösung von
if /i %spam%==J ........herauskommen:if /i ==J
...und richtigerweise einen Syntaxfehler anmeckern,
Grund2: Die leidigen (nicht sichtbaren) Leerzeichen am Ende.
Bei if /i %spam%==J könnte in Wirklichkeit "if /i %spam%==J__" (zwei Leerzeichen hinter dem J durch Unterstriche dargestellt dort stehen.
Und der Vergleich liefert FALSE.

Sonst keine Auffälligkeiten bei der oberflächlichen Sichtprüfung.

HTH Biber
[Edit] Hat sich überschnitten mit problemsolver.
Ein P.S. noch: Wegen der Leerzeichen-am-Ende-Problematik würde ich auch immer
SET "Variable=wert" ...statt.... SET Variable=wert ...........schreiben.
[/Edit]
Bitte warten ..
Mitglied: MiniMilk
30.01.2006 um 14:56 Uhr
vielen dank für deine Hilfe...
jetzt funktioniert das Programm wenigstens einigermaßen so, wie ich es mir vorgestellt habe.
Doch wo bekomme ich den solche genaueren Informationen zu den einzelnen Befehlen..
wie zB. bei dem IF-Befehl mit dem angehängten "/i"?
Bitte warten ..
Mitglied: 14078
30.01.2006 um 15:00 Uhr
warum so ein aufwand ? nehm doch ein netsend programm wie:

http://download.freenet.de/archiv_n/netsend_tool_4784.html

oder

http://www.fomine.com/netsend.html

!?!
Bitte warten ..
Mitglied: problemsolver
30.01.2006 um 15:05 Uhr
vielen dank für deine Hilfe...
jetzt funktioniert das Programm wenigstens
einigermaßen so, wie ich es mir
vorgestellt habe.
Doch wo bekomme ich den solche genaueren
Informationen zu den einzelnen Befehlen..
wie zB. bei dem IF-Befehl mit dem
angehängten "/i"?

Hierzu bitte Folgendes machen:
Start --> Ausführen: CMD eingeben (Also ab in die Kommandozeile )

In dieser dann grob gesagt erstmal HELP eingeben
Danach kannst du auch Befehle eingeben wie z.B.:

if /?
for /?
goto /?

... um nur 3 Beispiele zu nennen..

Gruß

M.
Bitte warten ..
Ähnliche Inhalte
Multimedia
Diashow Programm
gelöst Frage von 77282Multimedia6 Kommentare

Hallo, ich suche eine Software zum Diashow erstellen. Möchte gerne Videoclips und Bilder hinzufügen können und das Ganze mit ...

Windows 10
Filter Programm
Frage von AKillerInHellWindows 103 Kommentare

Hallo liebe Admins, ich benötige ein Programm, womit ich beispielsweise alle .DOC, JPG, PNG Dateitypen von der gesamten Festplatte ...

Grafik
CAD Programm Cade
Frage von rocco61Grafik2 Kommentare

Hallo zusammen, habe mir das CAD CADE geholt, ist prima und dem teueren Pedanten Visio sehr ähnlich. Nur, würde ...

LAN, WAN, Wireless
Captive Portal Programm
gelöst Frage von max.koblerLAN, WAN, Wireless11 Kommentare

Hallo Leute, Mal ne frage wir haben 25 Unifi AP AC HD in unserer Schule und ich bin Administrator ...

Neue Wissensbeiträge
Datenschutz

SiSyPHuS Win10: Analyse der Telemetriekomponenten in Windows 10

Tipp von freesolo vor 9 StundenDatenschutz1 Kommentar

Alle die sich detailliert für die Datensammlung interessieren die unter Windows 10 stattfindet, sollten sich folgende Analyse des BSI ...

Sicherheit
Adminrechte dank Intel-Grafikkarte
Information von DerWoWusste vor 12 StundenSicherheit1 Kommentar

ist das Advisory, welches beschreibt, welche Intel HD Graphics Modelle Sicherheitslücken haben, mit denen sich schwache Nutzer zu Admins ...

Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 1 TagInternet1 Kommentar

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 2 TagenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Glasfaserkabel verlegen und Anschlüsse setzen
Frage von LLL0rdLAN, WAN, Wireless21 Kommentare

Hallo Leute, ich muss demnächst ein Netzwerkkabel auf einer Länge von ca. 70 Metern verlegen. Das Netzwerkkabel soll dabei ...

Windows Server
Mac Rechner im Windows Netzwerk - was jetzt?
gelöst Frage von Kopfg3ldWindows Server17 Kommentare

Hallo zusammen, ich habe folgende Herausforderungen. Aber erst mal was kurz zum Netzwerk - Windows Server (ältester ist ein ...

Microsoft Office
Sharepoint 2016 mag keine Umlaute in .docx-Titeln
gelöst Frage von DerWoWussteMicrosoft Office14 Kommentare

Moin Kollegen. Nutzt hier jemand Sharepoint? Könnt Ihr, unabhängig von der Sharepointversion, bitte einen Test machen? Ladet ein .docx ...

Basic
VBS soll alle Ordner auswählen, die im Startmenu angezeigt werden
Frage von Senseless-CreatureBasic12 Kommentare

Guten Morgen - gibt es eine Möglichkeit, per VBS das Startmenu in Win10 zu modifizieren? Ich beherrsche VBS mittlerweile ...