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

gelöst Hilfe!! Script erstellen, das 2 Dateien prüfen soll und dann als email zb. mit blat versenden.

Mitglied: askando

askando (Level 1) - Jetzt verbinden

18.12.2013, aktualisiert 15:37 Uhr, 4055 Aufrufe, 10 Kommentare

Hallo!

Ich habe ein Problem, das mein ein Vorgänger von mir für eine Fax Lösung (GFI Fax) ein Programm geschrieben hat und dieses nur im kompilierten Status aufzufinden ist und nicht nicht mehr funktioniert.

Nun im Prinzip soll das Programm oder meinetwegen auch Script prüfen ob in einem Verzeichnis 2 Dateien (Pdf und txt) vorhanden sind. (PDF = Fax das als Anhang per Email versendet werden soll; TXT= Absender, Faxnummer u. Auftragsnummer) wenn beide vorhanden, dann kopiere in ein "out" Verzeichnis und danach versende die pdf per mail.

Ich bin kein Programmierer, sondern kümmere mich ausschließlich um Virtualisierungen etc. nun da ich nicht weiß in welcher Sprache er das Programm geschrieben hat und auch leider nirgendwo Projektdateien hinterlassen hat muss ich mir was einfallen lassen.
Wäre echt froh wenn mir jemand dabei helfen kann.

Mfg
Mitglied: ChrisDynamite
LÖSUNG 18.12.2013, aktualisiert um 15:37 Uhr
im einfachsten fall kann man das schon per batch script machen.

01.
:nachoben 
02.
if exist c:\inputornder\*.pdf { 
03.
 
04.
dann hier die txt auslesen. das geht am besten per findstr. den wert auslesen und in eine variable speichern 
05.
 
06.
dann blat aufrufen und die variable irgendwo dem programm übergeben (muss ich mir genauer anschauen) 
07.
sprung wieder nach oben 
08.
goto nachoben 
09.
10.
 
11.
und um das in einer schleife auszuführen und möglichst einfach zu halten (das ist die ultra-billig-variante) in den else zweig ein: 
12.
 
13.
else { 
14.
goto nachoben 
15.
}

soooo ungefähr kann man das sicherlich lösen.
wenn ich zeit finde mach ich das heute abend. schreib mir, falls du keine andere lösung gefunden hast.

grüße chris
Bitte warten ..
Mitglied: askando
18.12.2013 um 15:38 Uhr
Danke Chris! ich versuche es mal so wie du es vorgeschlagen hast.
Bitte warten ..
Mitglied: ChrisDynamite
LÖSUNG 18.12.2013, aktualisiert um 16:33 Uhr
nach welchem schema heißen die txt und pdf dateien?
Bitte warten ..
Mitglied: ChrisDynamite
LÖSUNG 18.12.2013, aktualisiert um 16:33 Uhr
heißt die txt oder pdf immer gleich?
Bitte warten ..
Mitglied: ChrisDynamite
LÖSUNG 18.12.2013, aktualisiert um 16:33 Uhr
hier der ca. codeteil:

01.
:run 
02.
set TXT_INHALT = "" 
03.
	IF EXIST "c:\Ordner\*.pdf" && IF EXIST "c:\Ordner\*.txt" 
04.
05.
		set /p TXT_INHALT=<c:\name der txt.txt 
06.
		 
07.
		 
08.
		rem hier kommt jetzt der blat code und als platzhalter der email adresse kommt der inhalt von TXT_inhalt rein. 
09.
		rem zurück zum anfang 
10.
		goto run 
11.
12.
		 
13.
	ELSE  
14.
15.
		rem zurück zum Anfang 
16.
		goto run 
17.
18.
 
Bitte warten ..
Mitglied: colinardo
LÖSUNG 18.12.2013, aktualisiert um 23:30 Uhr
Hallo askando,
wenn es ein AutoIT Script sein darf, das den Ordner selbständig in einem änderbaren Intervall überprüft, inklusive integriertem Mailversand ohne externe Tools(via CDO):
Es muss nur einmal gestartet werden, und läuft dann permanent im Hintergrund.
Die Variablen die angepasst werden müssen, findest du im Kopft des Scripts.
  • Zeile 4 = Pfad in dem die PDF-Dateien eingehen
  • Zeile 5 = Pfad in den die PDF-Dateien verschoben werden
  • Zeile 7 = Intervall (Sekunden) in dem der Ordner auf neue Faxe überprüft werden soll
  • ab Zeile 9 die Daten für deinen Mailserver und die Mailadressen
Der Code geht jetzt davon aus das die Textdatei den gleichen Namen wie das PDF besitzt.
01.
#NoTrayIcon 
02.
#Include <file.au3> 
03.
; Variablen ------------------ 
04.
global $CHECKDIR = "C:\Temp\source" 
05.
global $OUTDIR = "C:\Temp\target" 
06.
; Intervall in dem der Ordner überprüft werden soll (Sekunden) 
07.
Const $CHECKINTERVALL = 5 
08.
; Mail Daten 
09.
Global $FROMEMAIL = "" 
10.
Global $TOEMAIL = "" 
11.
Const $FROMNAME = "Dein Name" 
12.
Const $MAILSERVER = "SMTP.SERVER.DE" 
13.
Const $SMTPUSER = "SMTPUSERNAME" 
14.
Const $SMTPPASS = "SMTPPASSWORD" 
15.
Const $SMTPPORT = "25" 
16.
Const $SMTPUSESSL = 1 
17.
;----------------------------- 
18.
While 1 
19.
	$search = FileFindFirstFile($CHECKDIR & "\*.pdf") 
20.
	if $search <> -1 then 
21.
		While 1 
22.
			$file = FileFindNextFile($search) 
23.
			If @error Then ExitLoop 
24.
			local $szDrive, $szDir, $szFName, $szExt 
25.
			_PathSplit($file, $szDrive, $szDir, $szFName, $szExt) 
26.
			$pdfFile = $CHECKDIR & "\" & $file 
27.
			$txtFile = $CHECKDIR & "\" & $szFName & ".txt" 
28.
			if FileExists($txtFile) then 
29.
				$f = FileOpen($txtFile) 
30.
				$line1 = FileReadLine($f,1) 
31.
				$line2 = FileReadLine($f,2) 
32.
				FileClose($f) 
33.
				$text_faxnummer = StringRegExp($line1,",\s*([^\r\n]+)",3) 
34.
				$ret1 = @error 
35.
				$text_email = StringRegExp($line2,"fr=([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6})",3) 
36.
				$ret2 = @error 
37.
				if $ret1 = 0 and $ret2 = 0 then 
38.
					$FROMEMAIL = StringReplace($text_email[0]," ","") 
39.
					$TOEMAIL = StringReplace($text_faxnummer[0]," ","") & "@faxmaker.com" 
40.
					_INetSmtpMailCom($MAILSERVER,$FROMNAME,$FROMEMAIL,$TOEMAIL,"Neues Fax","Im Anhang finden sie das Fax als PDF",$pdfFile,"","","Normal",$SMTPUSER,$SMTPPASS,$SMTPPORT,$SMTPUSESSL) 
41.
					FileMove($pdfFile,$OUTDIR & "\",9) 
42.
					FileMove($txtFile,$OUTDIR & "\",9) 
43.
				Endif 
44.
			Endif 
45.
		WEnd 
46.
	EndIf 
47.
	FileClose($search) 
48.
	Sleep($CHECKINTERVALL * 1000) 
49.
WEnd 
50.
 
51.
 
52.
 
53.
; Variables for Function _INetSmtpMailCom 
54.
;################################## 
55.
;~ $SmtpServer = ""                            ; address for the smtp-server to use - REQUIRED 
56.
;~ $FromName = "User"                          ; name from who the email was sent 
57.
;~ $FromAddress = ""                           ; address from where the mail should come 
58.
;~ $ToAddress = ""                             ; destination address of the email - REQUIRED 
59.
;~ $Subject = "testsubject"                       ; subject from the email - can be anything you want it to be 
60.
;~ $Body = "This Is The Body"                  ; the messagebody from the mail - can be left blank but then you get a blank mail 
61.
;~ $AttachFiles = ""                           ; the file you want to attach- leave blank if not needed 
62.
;~ $CcAddress = ""                             ; address for cc - leave blank if not needed 
63.
;~ $BccAddress = ""                            ; address for bcc - leave blank if not needed 
64.
;~ $Importance = "Normal"                      ; Send message priority: "High", "Normal", "Low" 
65.
;~ $Username = ""                              ; username for the account used from where the mail gets sent - REQUIRED 
66.
;~ $Password = ""                              ; password for the account used from where the mail gets sent - REQUIRED 
67.
;~ $IPPort = 25                               ; port used for sending the mail 
68.
 
69.
;~ $ssl=0                                   ; GMAILenables/disables secure socket layer sending - put to 1 if using httpS 
70.
 
71.
 
72.
Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance="Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0) 
73.
    Local $objEmail = ObjCreate("CDO.Message") 
74.
    $objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>' 
75.
    $objEmail.To = $s_ToAddress 
76.
    Local $i_Error = 0 
77.
    Local $i_Error_desciption = "" 
78.
    If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress 
79.
    If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress 
80.
    $objEmail.Subject = $s_Subject 
81.
    If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then 
82.
        $objEmail.HTMLBody = $as_Body 
83.
    Else 
84.
        $objEmail.Textbody = $as_Body & @CRLF 
85.
    EndIf 
86.
    If $s_AttachFiles <> "" Then 
87.
        Local $S_Files2Attach = StringSplit($s_AttachFiles, ";") 
88.
        For $x = 1 To $S_Files2Attach[0] 
89.
            $S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x]) 
90.
            ConsoleWrite('@@ Debug(62) : $S_Files2Attach = ' & $S_Files2Attach & @LF & '>Error code: ' & @error & @LF) ;### Debug Console 
91.
            If FileExists($S_Files2Attach[$x]) Then 
92.
                $objEmail.AddAttachment ($S_Files2Attach[$x]) 
93.
            Else 
94.
                ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF) 
95.
                SetError(1) 
96.
                Return 0 
97.
            EndIf 
98.
        Next 
99.
    EndIf 
100.
    $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
101.
    $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer 
102.
    If Number($IPPort) = 0 then $IPPort = 25 
103.
    $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort 
104.
    ;Authenticated SMTP 
105.
    If $s_Username <> "" Then 
106.
        $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
107.
        $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username 
108.
        $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password 
109.
    EndIf 
110.
    If $ssl Then 
111.
        $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 
112.
    EndIf 
113.
    ;Update settings 
114.
    $objEmail.Configuration.Fields.Update 
115.
    ; Set Email Importance 
116.
    Switch $s_Importance 
117.
        Case "High" 
118.
            $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "High" 
119.
        Case "Normal" 
120.
            $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Normal" 
121.
        Case "Low" 
122.
            $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Low" 
123.
    EndSwitch 
124.
    $objEmail.Fields.Update 
125.
    ; Sent the Message 
126.
    $objEmail.Send 
127.
    If @error Then 
128.
        SetError(2) 
129.
    EndIf 
130.
    $objEmail="" 
131.
EndFunc   ;==>_INetSmtpMailCom
Viel Spaß

Grüße Uwe
Bitte warten ..
Mitglied: askando
18.12.2013, aktualisiert um 17:25 Uhr
Hey!

@ Chris
Also die PDF und die zugehörige txt Datei haben den selben Namen, der jedoch bedingt durch Auftragsnummer variiert.

Beispielsweise:
NameStandort_Auftragsnummer.pdf (Anhang); NameStandort_Auftragsnummer.txt

Dies ist der Inhalt der Textdatei
01.
::Name Empfänger, Faxnummer  
02.
::A=Name der PDF (Anhang), fr=Absender Emailadresse#
@ Uwe
Vielen Dank! In der Zeile 9 wird quasi eine konstante Emailadresse zum versenden via smtp angegeben. Jedoch müsste ich genau an der Stelle einen Wert aus der zugehörigen txt. auslesen. Ebenso in der Zeile 10, dort müsste quasi die Faxnummer ausgelesen werden und @faxmaker.com dahinter hinzugefügt werden.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 18.12.2013, aktualisiert um 17:27 Uhr
Zitat von askando:
@ Uwe
Vielen Dank! In der Zeile 9 wird quasi eine konstante Emailadresse zum versenden via smtp angegeben. Jedoch müsste ich genau
an der Stelle einen Wert aus der zugehörigen txt. auslesen. Ebenso in der Zeile 10, dort müsste quasi die Faxnummer
ausgelesen werden und @faxmaker.com dahinter hinzugefügt werden.
ist das der korrekt formatierte Inhalt deiner Textdatei?
::Name Empfänger, Faxnummer 
::A=Name der PDF (Anhang), fr=Absender Emailadresse
bitte benutze Tags um das hier einzustellen, damit keine Sonderzeichen unterschlagen werden.
Bitte warten ..
Mitglied: askando
18.12.2013, aktualisiert um 17:37 Uhr
Ja Colinardo!

Genauso sehen die Inhalte der Textdateien aus!
Bitte warten ..
Mitglied: colinardo
LÖSUNG 18.12.2013, aktualisiert um 17:34 Uhr
Zitat von askando:
Genauso sehen die Inhalte der Textdateien aus!
OK ist oben im Script angepasst...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

SSL verschluesselte Emails versenden mittels blat und stunnel

gelöst Frage von liverpool87Batch & Shell3 Kommentare

Hallo Leute, ich hab aus mehreren Foren Infos gesammelt und dann auf folgenden stunnel.conf und batch script gekommen. Es ...

Batch & Shell

Wie kann ich eine Mail über Blat versenden mit Batch

gelöst Frage von Dreamkiller112Batch & Shell8 Kommentare

Hallo, Hey ich benötige drigend Hilfe ich habe das Problem ich möchte eine Batch-Datei erstellen mit der ich eine ...

E-Mail

BLAT zum Mail versenden. Fehler für mich nicht lösbar

gelöst Frage von 130217E-Mail25 Kommentare

Hallo, ich habe heute Blat installiert und ein Script auf dem internet geladen und mit daten gafüllt. Ich sende ...

Batch & Shell

Hilfe bei einem Script zum autom. versenden von E-Mails

gelöst Frage von kaiszzaBatch & Shell2 Kommentare

Hallo liebes Administrator.de Forum! Zunächst mal; sorry, falls es das Thema bereits gibt (ich habe halb relevante Antworten zu ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 13 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 16 StundenAdministrator.de Feedback11 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...