zeroblue2005
Goto Top

Suchen u. Ersetzen als Batch mit Variabelen wer kann helfen...

Hallo Zusammen,

ich würde gerne eine Batch bauen wollen, die folgendes bewirkt. Sorry dass ich das leider nicht in der richtigen Syntax ausrücken kann, daher hier nur der gewünschte Ablauf:

Voraussetzung ist, dass die Datei Signatur im Ordner liegt, aber das sollte kein Thema sein mit xcopy!

Die Suchen u. Ersetzen bat sollte folgendes realisieren:

1. Frage den User nach Vorname und packe das in eine Variable bzw. Zwischenspeicher
2. Dann kommen noch ca. 10 Frage Ort, PLZ, Str. etc.... alle in Variable bzw. Zwischenspeicher
3. Die Batch soll dann nach der Fragebeantwortung die Daten aus den Variable bzw. Zwischenspeicher nehmen u. in der Signatur.html die Vorgaben, die so aussehen suchen und erstezen
4. Toll wäre es jetzt noch, wenn man Outlook sagen könnte nehme diese Signatur für Senden und beantworten. Aber das ist glaube ich zuviel des Guten face-smile

Die Signatur sieht ca. so aus (Ist nur ein Auszug):

<td><p align="left"><basefont face=""><font face="Tahoma"><font size="-2">Strasse-u-Hs-Nr</font></td>
<td><p align="left"><basefont face=""><font face="Tahoma"><font size="-2">Gesch&auml;ftsf&uuml;hrer: Vorname-Nachname</font></td>

Hat da jemand eine Lösung für mich?

Content-Key: 201652

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

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

Member: Onitnarat
Onitnarat Feb 13, 2013 at 09:45:59 (UTC)
Goto Top
Hallo,
warum so kompliziert? Du hast Doch sicherlich ein Active-Directory, richtig?
Falls ja, schau Dir das mal an: http://www.zerbit.de/projekte/outlooksignature.aspx
Falls nein, schaff Dir eins an...das macht das Leben leichter.

Gruß
Marcus
Member: zeroblue2005
zeroblue2005 Feb 13, 2013 at 10:02:27 (UTC)
Goto Top
Hallo Marcus,

danke schau ich mir an face-smile
Member: qupfer
qupfer Feb 13, 2013 updated at 13:29:29 (UTC)
Goto Top
Falls es doch in "batch" geschehen soll, wirds ohne externe Hilfe recht unschön.

Die Variablen der Reihe nach abfragen ist klar,

echo. "Name!"
SET /P Name=Name eingeben:
cls
echo. "Nachname..."

Für das Suchen&Ersetzen würde ich dann auf das Linux-Tool sed setzen.
Dazu erstellt du dir zuerst eine templateSig.html, wo du dann entsprechende Platzhalterwörter verwendest. (Vorname, Nachname, PLZ etc.)

Sed gibt es dann hier: http://07q.de/sed (recht weit unten ist ein Windows-Setup (http://07q.de/sedddl)

Nun noch korrekt ausführen. Der sed-Aufruf dürfte dann in etwa so aussehen:
"C:\Program Files (x86)\GnuWin32\bin\sed.exe" -e "s#Vorname#%vorname%#" -e "s#Nachname#%nachname%#" -e "s#derNächstePlatzhalter#%dieNächsteVariable%#" "/cygdrive/c/Pfad/zu/dem/Template.html" > "c:\Pfad\zum\Ziel\signature.html"  

Der Pfad zur sed.exe ist klar. Wenn woanders installiert, entsprechend anpassen. Das -e ist notwendig, weil mehrere Ersetzungen durchgeführt werden sollen. Die eigentliche Ersetzungsregel ist dann halt:
"s#suchString#ersetzString#" Nimmt man für den ersetzString eine Variable, wie %vorname%, so wird die dann dort verwendet. Sollte in deiner Signatur das #-Zeichen notwendig sein, kannst nach dem s auch ein anderes Trennzeichen angeben. "s?aaaaa?bbbb?". Die "" sind da, damit es keine Probleme mit Leerzeichen gibt.

Da sed aus der Linux-Welt kommt, wünscht es auch dementsprechende Pfadangaben. Dabei entspricht /cygdrive/ sozusagen dem Arbeitsplatz und die nächsten Ordner werden durch / (und nicht \ abgetrennt).
Sollte in dem Pfad ein Leerzeichen sein, entweder Pfad in "" setzen oder das Leerzeichen "escapen". z.B.: /cygdrive/c/Program\ Files\ (x86)/restlicher\ Pfad/.... (wobei es bei mir auch mit Win-Syntax funktionierte)
Mit > wird das Ergebnis dann an eine Datei umgeleitet, die dann wieder mittels normaler Windows-Pfadangabe angegeben werden muss.
Member: zeroblue2005
zeroblue2005 Feb 25, 2013 at 10:42:41 (UTC)
Goto Top
Hallo Zusammen,

habe mich jetzt mal mit OutlookSignature auseinadergesetzt! Super Ding und so weit Arbeitsweise auch verstanden! Mein Problem ist nur, das wir mit Outlook 210 Arbeiten und bei unserem TestSystem bekommen wir beim starten der OutlookSignature.exe in Debug Modus die Fehlermeldung:

@ > Fehler 999: Outlook-Version konnte nicht ermittelt werden

Komischerweise auf den Win 7 X64 System läuft es! Hat einer ne Ahnung?
Member: Onitnarat
Onitnarat Feb 26, 2013 at 07:43:51 (UTC)
Goto Top
Hi,
da wir nur 64bit Win7 einsetzen kann ich das jetzt nicht nachvollziehen, aber warum nutzt Ihr 32bit Windows7?
Auf meinem 64bit erhalte ich in den Logs:
26.02.2013 08:40:30 Ermittle Outlook-Version
26.02.2013 08:40:30 ...Outlook-Version: 
Funktioniert aber einwandfrei...

Gruß
Marcus
Member: zeroblue2005
zeroblue2005 Feb 26, 2013 at 07:49:32 (UTC)
Goto Top
Hallo,

habe das Tool am laufen bekommen, liegt schlicht weg daran, dass er die Version nicht ermitteln kann. Habe einfach dann von meinem Win-7 x64 System die Reg. exportiert und wird auf den Clients einfach mit ausgeführt und dann gehts!