xguix
Goto Top

Neue Dateien an BLAT übergeben

Hallo Leute,

ich habe einen Ordner mit diversen PDF Datein.
Jeden Ersten im Monat kommen neue Dateien hinzu.
Diese enthalten alle *TNG* und das Datum: *20140501*

Jetzt möchte ich jeden Monat (geplanter Task) diese neuen Dateien des aktuellen Monats versenden, mit BLAT.

Ansatz war, über das aktuelle Datum den Monat zu filtern um entsprechende Dateien zu finden:
dir /B *TNG*%date:~-7,2%*.pdf

Das ganze in eine Variable gepackt:
set report=dir /B *TNG*%date:~-7,2%*.pdf

und mit BLAT versendet:
"C:\Skripte\blat262\full\blat.exe" dummy.txt -attacht %report% -server SERVER -to Empfänger -subject "Betreff"

Die Mail kommt zwar an, jedoch ohne Anhang.
Bei einem "echo %report%" kommt leider nur folgende Ausgabe:
dir /B *TNG*05*.pdf

Wenn ich den "dir" Befehl direkt eingebe, bekomme ich meine Datein für den Monat..

Jemand eine bessere Idee? Oder einene Änderungsvorschlag?

Grüße

Content-Key: 239295

Url: https://administrator.de/contentid/239295

Printed on: April 23, 2024 at 10:04 o'clock

Member: bastla
Solution bastla May 27, 2014 updated at 08:42:12 (UTC)
Goto Top
Hallo -xgUix-!

Versuch es so (ungetestet):
>attachments.txt dir /B *TNG*%date:~-7,2%*.pdf
"C:\Skripte\blat262\full\blat.exe" dummy.txt -atf attachments.txt -server SERVER -to Empfänger -subject "Betreff"  
Grüße
bastla
Member: xgUix
xgUix May 27, 2014 at 08:44:33 (UTC)
Goto Top
Hallo bastla,

funktioniert wunderbar!

Vielen lieben Dank!
Member: xgUix
xgUix May 28, 2014 at 13:41:27 (UTC)
Goto Top
Hallo nochmal,

jetzt ist mir aufgefallen, dass das Skript im Monat 06 läuft, aber die Datein heißen *05*.
Die Daten werden nämlich erst erstellt wenn der Monat rum ist..

Eine Idee wie ich jetzt die richtigen Daten bekomme? Denn das Skript sucht ja nach dem aktuellen Monat..

Liebe Grüße
Member: bastla
Solution bastla May 28, 2014, updated at Jun 05, 2014 at 07:28:26 (UTC)
Goto Top
Hallo -xgUix-!

Ersetze die Zeile 1 durch
set /a Monat=1%date:~-7,2%-1
if %Monat% leq 100 set /a Monat+=12
>attachments.txt dir /B *TNG*%Monat:~-2%*.pdf
Grüße
bastla

[Edit] Vergleichsoperator in Zeile 2 auf "leq" geändert [/Edit]
Member: xgUix
xgUix May 28, 2014 updated at 18:30:20 (UTC)
Goto Top
Hi bastla,
danke für die Antwort.

Hab's noch nicht testen können, aber vom Sinn her verstehe ich die 2. Zeile nicht vom neuen Code.
Würde mich freuen wenn du Zeit für eine kurze Beschreibung findest.

Grüße
Member: bastla
Solution bastla May 28, 2014 updated at 18:46:09 (UTC)
Goto Top
Hallo -xgUix-!

Die Zeile 2 wird sich erst nächstes Jahr (genau genommen im Januar) auswirken - damit wird dafür gesorgt, dass sich für Monat "01" nicht als Vormonat "00", sondern "12" ergibt - die etwas allgemeinere Formulierung mit "leq" (bedeutet <=) würde auch bei Subtraktion von mehr als einem Monat dafür sorgen, dass die richtige Monatszahl des Vorjahres ermittelt wird ...

Dass der Vergleich mit "100" erfolgen muss liegt daran, dass (ua zur Erhaltung der führenden Null) die Monatsberechnung mit um 100 vemehrten Werten vorgenommen wird - für Juni wird also gerechnet "106-1". Aus dem Ergebnis werden dann die letzten beiden Stellen (%Monat:~-2%) verwendet.

Grüße
bastla
Member: xgUix
xgUix May 28, 2014 at 18:47:32 (UTC)
Goto Top
Hallo bastla,
Vielen Dank für deine Ausführung!!

Mit dem "leq" verstehe ich das Skript. Wäre aber selbst nicht drauf gekommen.

Weiter so
Liebe Grüße
Member: xgUix
xgUix Jun 05, 2014 at 07:41:58 (UTC)
Goto Top
Hi bastla,
ich nochmal =)

mit dem Befehl "-atf" geht Blat davon aus das in der Text Datei "attachments.txt" Dateinamen von weiteren Text Dateien stehen.
Somit werden PDF's zwar verschickt aber im Posteingang sind diese dann unbrauchbar.

Der Befehl "-aef" hat Abhilfe geschafft.

-atf <file> : file containing list of text file(s) to attach (comma separated)
-aef <file> : file containing list of embed file(s) to attach (comma separated)

Grüüße
Member: bastla
bastla Jun 05, 2014 at 13:02:25 (UTC)
Goto Top
Hallo -xgUix-!
Somit werden PDF's zwar verschickt aber im Posteingang sind diese dann unbrauchbar.
PDF hatte ich leider nicht beachtet - ich war von Deinem -attacht ausgegangen ...

Grüße
bastla
Member: xgUix
xgUix Jun 05, 2014 at 13:19:51 (UTC)
Goto Top
Hallo bastla

PDF hatte ich leider nicht beachtet
achso.

Also es funktioniert.
Bloß..
Wenn ich "-atf" benutze, kommt als Ausgabe:
Attached text file: blabla.pdf
Die Datei die ankommt kann ich natürlich nicht als PDF öffnen..

Wenn ich "-aef" benutze, kommt:
Embedded binary file: blabla.pdf
Die Datei kommt auch an und ich kann sie als PDF öffnen.

Jetzt schicke ich das aber nicht an mich, sondern an eine Email Adresse vom MS Share Point, dieser nimmt den Betreff, mach darauß einen Ordner und packt die Datein dort rein.

Witziger Weise wird nur die Attached text file in den Ordner gepackt... nicht die Embedded binary
?! face-sad

Wenn ich die gleiche Datei von meiner Mail Adresse an diesen MS Share Point schicke, wird sie korrekt in diesen Ordner abgelegt..
Ist jetzt das Skript oder der MS Share Point schuld?

Ich kann leider nicht nachvoll ziehen wie der MS Share Point an dieser Stelle arbeitet.

Liebe Grüße
gUi
Member: bastla
Solution bastla Jun 05, 2014, updated at Jun 10, 2014 at 13:45:45 (UTC)
Goto Top
Hallo -xgUix-!

Bei SharePoint muss ich leider passen, aber versuch's mal mit -af ...

Grüße
bastla
Member: xgUix
xgUix Jun 05, 2014 at 13:31:12 (UTC)
Goto Top
Hallo bastla, danke für die Hilfen.

"-af" hatte ich schon getestet. erfolglos

Grüße
Member: xgUix
xgUix Jun 10, 2014 at 13:45:33 (UTC)
Goto Top
-af und dann noch -mime
dann klappts face-smile

Jetzt sind bloß alle Datein zusammen zu groß für den Share-Point..

Hab das jetzt wie folgt geteilt:
attachments0_Do-NOT-delete.txt dir /B *TNG*V*%Monat:~-2%01*.pdf
attachments1_Do-NOT-delete.txt dir /B *TNG*R*%Monat:~-2%01*.pdf
attachments2_Do-NOT-delete.txt dir /B *TNG*LAN*%Monat:~-2%01*.pdf

Drei verschiedene Datein erstellt und drei mal das Blat Skript laufen lassen:

"blat.exe" dummy.txt -af attachments0_Do-NOT-delete.txt -server SERVER -f ABSENDER -mime -to EMPFÄNGER -subject "Report %Jahr%"
"blat.exe" dummy.txt -af attachments1_Do-NOT-delete.txt -server SERVER -f ABSENDER -mime -to EMPFÄNGER -subject "Report %Jahr%"
"blat.exe" dummy.txt -af attachments2_Do-NOT-delete.txt -server SERVER -f ABSENDER -mime -to EMPFÄNGER -subject "Report %Jahr%"

Anders wusste ich mir auf die schnelle nicht zu helfen..
mfg