batu
Goto Top

Auslesen des Inhalts eines Dokuments per Batch und Ausgabe in Ziel-Datei/Dokument/Mail

Hallo,

Ich möchte aus einer Datei (kann ein Word, Excel oder MindMap sein, habe mich da noch nicht festgelegt; aber das klärt sich ja vielleicht gleich face-wink ) den Inhalt per Batch auslesen.

Anschließend soll der Inhalt der Quell-Datei auf dem Ziellaufwerk in einer identischen Datei (Word,Excel, MindMap) gespeichert wird, idealerweise versioniert, z.B. in einem extra erstellten Ordner mit dem Datum von dem Tag der Aktualisierung als Namen.

Zusätzlich möchte ich den Inhalt der Datei noch per Mail an einen Empfänger X schicken.
Diese Mail soll dann auch noch in einer fortlaufenden log gespeichert werden.

Quell- und Zieldatei liegen nicht auf dem selben PC, sondern sind über LAN miteinander verbunden. Die Sache muss aber auch dann funktionieren, wenn der Ziel-PC gerade offline ist (die Mail wird ja in jedem Fall verschickt, aber der Kopiervorgang kann ja erst dann durchgeführt werden, wenn wieder alle online sind, aber wem erzähle ich das!).

Ziel meiner Anfrage ist es, dass ich jederzeit einen Statusbericht generieren möchte.

Ich bin noch ziemlicher Neuling auf dem Batch Gebiet und habe erst vor kurzem einen Einblick in die Welt der Stapelverarbeitung bekommen. Daher bitte ich Euch, etwas ausführlicher zu schreiben, als Ihr es vielleicht gewohnt seid.

Vielen Dank im voraus!
Viele Grüße

batu (hatte ich glatt vergessen)

Content-ID: 47017

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

Ausgedruckt am: 23.11.2024 um 15:11 Uhr

miniversum
miniversum 18.12.2006 um 17:39:45 Uhr
Goto Top
Also reicht es dir die Datei einfach zu kopieren? Ist ja dan der identische Inhalt.
Wenn ja wäre mein Vorschlag dafür in etwa so:

md H:\zielverzeichnis\%date%
copy /y "Datei.txt" "H:\zielverzeichnis\%date%\Datei.txt"

Das versenden der Datei geht mit einem Programm was sich blad nent. Die genue Handhabung weiß ich jetzt gerade nciht, wurde aber hier im Forum schon mehrere male benutzt. -> einfach mal suchen.

Die Kontrolle ob das Laufwerk vorhanden ist (Rechner an) auf den die Datei kopiert werden soll kannst du mit einem Ping Befehl machen. Wunde auch schon hier im Forum benutzt.
Alternatif kanst du auch mit einem:
If exist "H:\zielverzeichnis\NUL" ... bzw. If not exist "H:\zielverzeichnis\NUL" ... Befehl arbeiten.

Wenn du wilslt das das kopieren so lange wartet bis das ziel vorhanden (der Rechner an) ist würde das ganze z.B. so aussehen:

@echo off
:warte
If not exist "H:\zielverzeichnis\NUL" goto :warte
md H:\zielverzeichnis\%date%
copy -y "Datei.txt" "H:\zielverzeichnis\%date%\Datei.txt"
blad.exe /optionen und so (bite nachschauen)

Ich hoffe das Hilft die weiter.

miniversum
batu
batu 18.12.2006 um 17:56:04 Uhr
Goto Top
Hi miniversum,

vielen Dank für die schnelle Antwort!!!
Das mit dem blad-Programm und dem Ping werde ich mal recherchieren. Du hast mir auf jeden Fall schon mal geholfen. Und Danke für den Aufschrieb! face-wink
Gruß

batu
Andynix
Andynix 19.12.2006 um 11:04:23 Uhr
Goto Top
Hi,
das Programm heißt blat.exe,hier zu bekommen http://www.blat.net/
blat.exe home.log -server pdc.dein-server.local -to deine-mail@dein-server.local -f administrator@dein-server.local -s "Fehler im Backup"  

..und so sende ich:
Datei home.log
über den eigenen Exchange-serverpdc.dein-server.local
an-todeine-mail@dein-server.local
von-fadministrator@dein-server.local
mit Betreff-s"Fehler im Backup"

Betreff in Anführungszeichen wenn er Leeschritte enthält.
batu
batu 19.12.2006 um 15:30:34 Uhr
Goto Top
Hallo Andynix,

vielen Dank für den Tipp.

Also, so wie ich dass jetzt sehe, passiert folgendes, wenn ich die Batch Datei auslöse:

- Zielrechner anpingen
- wenn vorhanden, Datei auf Ziellaufwerk (fremder Rechner im Netzwerk) an definierte Stelle kopieren
- wenn nicht vorhanden, Schleife, bis Ziellaufwerk wieder vorhanden, und dann kopieren
- Status-Email verschicken

Wie bekomme ich denn jetzt noch idealerweise den Inhalt der Datei in die Mail, dass gleich zu lesen ist, was in der Datei abgespeichert wurde (damit man die Datei nicht erst öffnen muss?)

Danke und Gruß

batu