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.

Frage Entwicklung

Mitglied: askando

askando (Level 1) - Jetzt verbinden

18.12.2013, aktualisiert 15:37 Uhr, 3942 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
Neue Dateien an BLAT übergeben
gelöst Frage von xgUixBatch & Shell13 Kommentare

Hallo Leute, ich habe einen Ordner mit diversen PDF Datein. Jeden Ersten im Monat kommen neue Dateien hinzu. Diese ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 21 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 4 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 5 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Windows 10
Probleme mit Dateien, deren Pfad + Dateiname länger als 256 Zeichen sind
Frage von FalaffelWindows 1011 Kommentare

Guten Tag, unter Windows 10 scheint es immer noch das Problem zu geben, dass der Pfad + Dateiname einer ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Microsoft Office
Outlook 2016 - Makro startet nicht über Knopf im Menüband
Frage von ZunarasMicrosoft Office9 Kommentare

Schönen guten Tag! ich brauche wieder einmal Hilfe. Ich möchte gerne von Office 2010 32bit auf 2016 64bit wechseln ...