Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
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, 4854 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch und Powershell (2)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch minimiert starten (3)

Frage von pdiddo zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch : alle Dateien eines Ordners bearbeiten (1)

Frage von deguonkel zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...