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 Code Variablen Problem mit Mail

Frage Entwicklung Batch & Shell

Mitglied: narthan

narthan (Level 1) - Jetzt verbinden

18.03.2013 um 08:30 Uhr, 1680 Aufrufe, 5 Kommentare, 2 Danke

Guten Tag,

ich habe Batch Datei, die für jeden OWNER eine eigene .txt Datei erstellt, in der alle Gruppen von denen er der Owner ist auflistet, zusätzlich mit allen dazugehörigen Gruppenmitgliedern.
Nun mein Problem. Ich muss die Batch so ändern, dass, nachdem man sie ausführt, an jeden Owner eine Mail gesendet wird mit der betreffenden .txt Datei.

Bsp:

OwnerMüller.txt
OwnerMeier.txt

Die Batch soll per Mail die Datei "OwnerMüller.txt" an (z.B.) H.Müller@betrieb.de und die Datei "OwnerMeier.txt" and (z.B.) T.Meier@betrieb.de senden.


Mein bisheriger Code der Batch Datei sieht wie folgt aus:

01.
::Gruppen ermitteln und einzeln im Unterprogramm ":ProcessGroup" weiterverarbeiten 
02.
for /f "delims=" %%a in ('dsquery group "Pfad" -limit 999') do call :ProcessGroup %%a 
03.
:: Batch hier beenden 
04.
 
05.
goto :eof 
06.
 
07.
:ProcessGroup 
08.
:: Gruppe steht in %1 
09.
:: Owner auslesen (steht nach erstem ":" und " " und kann Leerzeichen enthalten) 
10.
set "Owner=" 
11.
for /f "tokens=1* delims=: " %%i in ('dsget group %1 -desc ^| findstr "Owner"') do set "Owner=%%j" 
12.
:: Gruppen ohne Owner werden in der Datei "Gruppen_ohne_Owner.txt" gespeichert 
13.
if not defined Owner echo %1 - kein Owner >> Gruppen_ohne_Owner.txt & goto :eof 
14.
:: Dateinamen (ohne Leerzeichen + ".txt") erstellen 
15.
set "File=%Owner: =%.txt" 
16.
:: Gruppennamen ermitteln (steht nach "CN" und "=" und vor ",") 
17.
for /f "tokens=2 delims==," %%i in (%1) do set "Group=%%i" 
18.
:: Gruppeninfo in Datei schreiben 
19.
setlocal enabledelayedexpansion 
20.
:: Owner nur beim Erstellen der Datei eintragen 
21.
if not exist "%File%" >>"%File%" echo Owner: %Owner% 
22.
>>"%File%" echo Gruppe %Group%: 
23.
endlocal 
24.
:: Gruppenmitglieder ermitteln und eintragen 
25.
for /f "tokens=2 delims==\" %%i in ('dsget group %1 -members') do >>"%File%"  echo - %%i 
26.
:: Leerzeile eintragen 
27.
>>"%File%" echo( 
28.
:: Rücksprung in das Hauptprogramm 
29.
goto :eof
Nun müsste ich doch eigtl mit mailto.exe in jedem Verlauf meiner Schleife mit der Owner Variablen eine Mail an ihn senden können. Das würde in etwa so aussehen, aber ich weiß nicht genau wie ich die Mail Adresse konfigurieren kann, da mir die %Owner% (Variable) in anderer Schreibweise als unsere Emailadressen angezeigt wird. Statt "Vorname.Nachname@betrieb.de" gibt Owner "Nachname,Vorname" aus

01.
:: mailto   // -t = Empfänger der Mail // -a = Attachement // -sub = Betreff 
02.
 
03.
mailto.exe -d "domain" -smtp "ip-adresse" -t vorname.nachname@betrieb.de -t -a "Anhang-Datei" -sub "Thema"

Geht es vlt mit "dsget user -email" die Email des %user% zu ermitteln und in eine neue variable zu speichern, die man dann bei mailto verwenden könnte statt einer email adresse?? falls ja, wie?

Grüße narthan
Mitglied: bastla
18.03.2013 um 14:07 Uhr
Hallo narthan!

Wenn in %Owner%
Nachname,Vorname
steht, kannst Du ja per
for /f "tokens=1-2 delims=," %%i in ("%Owner%") do set "Mail=%%i.%%j@betrieb.de"
die zugehörige Mailadresse erzeugen ...

Grüße
bastla
Bitte warten ..
Mitglied: narthan
18.03.2013 um 14:18 Uhr
for /f "tokens=1-2 delims=," %%i in ("%Owner%") do set 
> "Mail=%%i.%%j@betrieb.de" 
> 

Hey bastla

Danke, das versuch ich gleich mal und meld mich dann wieder!

Grüße,
narthan
Bitte warten ..
Mitglied: narthan
19.03.2013, aktualisiert um 13:38 Uhr
Morgen,

tut mir leid, wenn die Frage jetzt dumm ist, aber wie kann ich das denn nun in die "mailto" Zeile integrieren? Muss ich für die Mail-Erzeugung dann eine neue Variable noch erzeugen?


EDIT:...ok %Mail% ist ja diese besagt Variable..sry, wohl noch zu früh^^


EDIT 2: Kennst du dich zufälligerweise auch mit mailto aus? Ich weiß nicht wieso, aber senden will er die Mail nicht... Als Rückmeldung kommt immer "Could not send mail".
--> ich befürchte, dass er nach dem Vornamen in der Email-Adresse (im for /f Befehl für %Mail%) ein Leerzeichen macht ..So sieht es zumindest aus wenn ich echo %Mail% ausführ

Gruß,
narthan
Bitte warten ..
Mitglied: bastla
19.03.2013 um 15:16 Uhr
Hallo narthan!
ich befürchte, dass er nach dem Vornamen in der Email-Adresse (im for /f Befehl für %Mail%) ein Leerzeichen macht ..
Dann verwende doch zusätzlich zum Komma auch das Leerzeichen als "Delimiter" ...

Grüße
bastla
Bitte warten ..
Mitglied: narthan
20.03.2013 um 08:31 Uhr
Hallo,

also daran lag es leider nicht. Hab delims angepasst und das Leerzeichen somit in den Email Adressen entfernt, aber senden tut er die Mails trotzdem noch nicht

Grüße,
narthan
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Grosses Variablen Problem ( Batch) (30)

Frage von clragon zum Thema Batch & Shell ...

Microsoft Office
Serien Mail Problem Office 2013

Frage von hagerino zum Thema Microsoft Office ...

Batch & Shell
gelöst Variablen Zusammenbauen 2.0 ( Batch ) (6)

Frage von clragon zum Thema Batch & Shell ...

Exchange Server
Problem mit einer mail im popcon (8)

Frage von jensgebken zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...