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, 5116 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
Brauche hilf bei einer batch Datei
gelöst Frage von PilllllleBatch & Shell7 Kommentare

hallo, ich versuche mit Hilfe von einer batch- Datei eine bestimmt Zeile aus einer txt- Datei in eine neue ...

Entwicklung
Autoit Script datei als Email anhang
gelöst Frage von bfbertiEntwicklung5 Kommentare

Hallo. Ich habe folgendes Problem: Der Drucker bei uns auf arbeit das FAX TO MAIL wegen der SSL verschlüsselung ...

Entwicklung
Email per Batch Datei verschicken
Frage von UltraZzEntwicklung4 Kommentare

Ich möchte meine Freunde ein bisschen verarschen und habe schon eine Batch Datei erstellt wo sie etwas eingeben müssen. ...

Batch & Shell
Script zum XML Datei Umschreiben
Frage von cberndtBatch & Shell12 Kommentare

Guten Tag. Ich habe folgendes Problem. Ich habe eine XML Datei mit meinen Gutscheincodes sowie weiter Daten aus meiner ...

Neue Wissensbeiträge
Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 18 StundenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 2 TagenWindows 1013 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 3 TagenSicherheits-Tools8 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Off Topic
Sachen die die Welt nicht braucht - Platz 1
Tipp von brammer vor 6 TagenOff Topic21 Kommentare

Hallo, ich habs als Tipp angelegt als Erfahrungsbericht nein Danke brammer

Heiß diskutierte Inhalte
Hardware
Telefonanlagen - Welche gibt es
Frage von Xaero1982Hardware38 Kommentare

Nabend Zusammen, ich suche eine neue TK Anlage und mein Auftraggeber will jetzt was völlig neues - State of ...

Server-Hardware
Kompatibilität Tray für HP Proliant DL385 G10 vs. G8, G9
Frage von chris123Server-Hardware19 Kommentare

Hallo, weiß einer der hier anwesenden, ob die Trays für 2,5 " HDDs zwischen einem DL 385 G10 und ...

Outlook & Mail
Office 365 mit Email-Profil installieren
gelöst Frage von 139221Outlook & Mail18 Kommentare

Hallo, kurz zu meiner Person: Vor ungefahr 10 Jahren habe ich eine Umschuldung zum Fachinformatiker für Systemintegration gemacht aber ...

LAN, WAN, Wireless
Intel(R) PRO Wireless 3945ABG
gelöst Frage von Leon509LAN, WAN, Wireless15 Kommentare

Hallo, habe ein Laptop Fujitsu (Intel, 4GB, 2GHz, Windos10, Intel(R) PRO/Wireless 3945ABG ) ein O2 DSL Anschluss Home50. Leider ...