Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Batch für NetSend mit Variablenübergabe

Frage Entwicklung Batch & Shell

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

27.01.2011, aktualisiert 18.10.2012, 4804 Aufrufe, 7 Kommentare

Mit einer Batch soll erst der Empfänger und dann der Nachrichtentext einer Nachricht abgefragt werden, die mittels NetSend verschickt wird.

Mit den Worten von Howard Carpendale:

Hello Eugen!


Mit dem nachfolgenden Code würde ich gerne die NetSend-Funktion ein wenig schmucker machen. Das funktioniert auch soweit, wäre da nicht das Problem, dass man gelegentlich mehr als nur ein Wort als Nachricht versenden möchte. Dann nämlich bricht die Abarbeitung des Codes aprubt ab... Doof, wie man sich vorstellen kann.

Ich hab dann auch versucht, den Nachrichtentext erst mal in eine TXT-Datei umzulenken... Aber irgendwie... Es klappt nicht...

Weiß jemand Rat?
Vielen herzlichen Dank schon jetzt!!!!

Grüße,
Andreas



01.
@echo off &setlocal 
02.
 
03.
echo. 
04.
echo Diese Batch versendet eine Mitteilung an eine zu waehlende Person. 
05.
goto :EingabeEmpfaenger 
06.
 
07.
:LeereEingabeEmpfaenger 
08.
echo. 
09.
echo Es wurde eine ungueltige Eingabe vorgenommen. 
10.
 
11.
:EingabeEmpfaenger 
12.
echo. 
13.
set /p Empfaenger=Bitte Empfaengerkuerzel eingeben ([x] Abbrechen): 
14.
cls 
15.
 
16.
If %Empfaenger%x==x Goto :LeereEingabeEmpfaenger 
17.
If %Empfaenger%==x Goto :Abbruch 
18.
goto :EingabeNachricht 
19.
 
20.
:LeereEingabeNachricht 
21.
echo. 
22.
echo Es wurde eine ungueltige Eingabe vorgenommen. 
23.
 
24.
:EingabeNachricht 
25.
echo. 
26.
set /p Nachricht=Bitte Nachrichtentext an %Empfaenger% eingeben ([x] Abbrechen): 
27.
cls 
28.
If %Nachricht%x==x Goto :LeereEingabeNachricht 
29.
If %Nachricht%==x Goto :Abbruch 
30.
 
31.
net send %Empfaenger% %Nachricht%(%Username%, %date%, %time:~0,5%Uhr) 
32.
goto :Ende 
33.
 
34.
:Abbruch 
35.
net send %username% Abbruch durch Anwender. 
36.
 
37.
:Ende
Mitglied: 60730
27.01.2011, aktualisiert 18.10.2012
moin,

das typische echo off Problem...

  • Gegenfrage: Wie steuerst du einen befehl wie z.B Net Send?
Durch Parameter?
Wie unterscheidet Window einzelne Parameter voneinander?
Ergo fass die durch ein Leerzeichen getrennten Wörter - die als ein parameter durchgehen sollen - in "Gänse füßchen"...


Gruß
Bitte warten ..
Mitglied: Skyemugen
27.01.2011 um 16:26 Uhr
Aloha,

Die beiden  in Zeile 31 ... sollten die mal was darstellen?

greetz André
Bitte warten ..
Mitglied: ahstax
27.01.2011 um 16:33 Uhr
@Skyemugen:
Die beiden  sind eigentlich Zeilenumbuchzeichen, die man erhält, wenn man den Code im DOS-Editor bearbeitet und dort STRG+T drückt.

@TimoBeil
Irendwie verfolgen mich diese miesen, kleinen Gänsefüschen... ts...
Setze ich die in diesem Fall so (Zeilen 5, 6, 8):

01.
:EingabeNachricht 
02.
echo. 
03.
set /p Nachricht=Bitte Nachrichtentext an %Empfaenger% eingeben ([x] Abbrechen): 
04.
cls 
05.
If "%Nachricht%"x==x Goto :LeereEingabeNachricht 
06.
If "%Nachricht%"==x Goto :Abbruch 
07.
 
08.
net send %Empfaenger% "%Nachricht%"(%Username%, %date%, %time:~0,5%Uhr) 
09.
goto :Ende
Bitte warten ..
Mitglied: 60730
27.01.2011 um 16:40 Uhr
Zitat von ahstax:
@TimoBeil
Irendwie verfolgen mich diese miesen, kleinen Gänsefüschen... ts...
Setze ich die in diesem Fall so (Zeilen 5, 6, 8):

eher ungetestet so:

01.
:EingabeNachricht 
02.
echo. 
03.
set /p Nachricht=Bitte Nachrichtentext an %Empfaenger% eingeben ([x] Abbrechen): 
04.
cls 
05.
If /i "%Nachricht%"=="" Goto :LeereEingabeNachricht 
06.
If "%Nachricht%"=="x" Goto :Abbruch 
07.
  
08.
net send %Empfaenger% "%Nachricht%" (%Username%, %date%, %time:~0,5%Uhr) 
09.
goto :Ende
und das andere...
01.
set /p Empfaenger=Bitte Empfaengerkuerzel eingeben ([x] Abbrechen):  
02.
net user /domain |find /i "%Empaenger%" || echo den User gibts nicht & goto EingabeEmpfaenger
Gruß
Bitte warten ..
Mitglied: ahstax
27.01.2011 um 16:49 Uhr
Cool... funktioniert...!

Jetzt noch ne Frage, die nicht zur Überschrift aber zur Aufgabe passt...:
Kann ich statt [x] als Abbruchparameter auch die [ESC]-Taste abfragen? Wie?
Bitte warten ..
Mitglied: Biber
27.01.2011 um 17:07 Uhr
Moin ahstax,

Zitat von ahstax:
Kann ich statt [x] als Abbruchparameter auch die [ESC]-Taste abfragen? Wie?
Du kannst doch aber bei einer "SET /P"-Eingabe nach meinen vorläufigen Tests ca. 67433x die [ESC]-Taste drücken,
ohne dass sich das Bild auf dem Monitor entscheidend verändert.

Ab dem 67434sten Mal brennt es sich bei Billig-Plasma-Monitoren langsam etwas ein.

Aber das merken doch auch deine UserInnen und hören irgendwann auf, es zu versuchen.

Also vergiss es auch.

Grüße
Biber
Bitte warten ..
Mitglied: ahstax
27.01.2011 um 17:14 Uhr
Ich hoffe wirklich, dass der Test keine Spuren an Deinem Monitor hinterlassen haben...!!

Ich entnehme Deiner Antwort, dass die [ESC]-Taste wohl keinen abfragbaren Wert übergibt... Schade... Wäre auch zu schön gewesen...
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...