menace
Goto Top

suchen u. ersetzten per batch

hallo zusammen,

ich habe folgendes problem:
ich muss zwei mal im jahr ca. 180 PCs, welche identische hardware haben, per image neu installieren.
klappt soweit auch alles bestens. auf den PCs sind zu schulungszwecken drei mail-clients installiert. windows mail von vista (ehemals outlook express), Outlook2007 und mozilla thunderbird.
in jedem mailclient wird das gleiche pop3 konto angelegt. die daten des kontos (name, mail adresse, anmeldename, etc) entsprechen jeweils dem hostnamen des PCs. also z.b. schulungpc1@domain.de für PC1, schulungpc2@domain.de für pc2 usw...

die automatische konfiguration von outlook2007 klappt mittels erstelltem *.prf file bestens. in dem file habe ich überall den name durch %computername% ersetzt. bei import ersetzt outlook dann automatisch die variable durch den aktuellen hostname.

jetzt suche ich noch ein lösung um auch thunderbird und windows mail automatisch abhängig von hostname des PCs konfigurieren zu können.
beide programme legen die mail-konto-einstellungen in konfig-dateien im benutzerprofil ab:

windows mail z.B.: c:\Users\benutzer\AppData\Local\Microsoft\Windows Mail\Local Folders\account{8C3DA182-FE9F-4A14-8780-4FDD22FAD6E5}.oeaccount
thunderbird z.B.: c:\Users\benutzer\AppData\Roaming\Thunderbird\Profiles\0h4g6djc.default\prefs.js

beide files sind mit dem editor im klartext edtitierbar.
also auchte ich nach einer lösung per suchen - ersetzen des inhaltes mit einem batch-file die dateien auf den hostnamen zu ändern.
dabei bin ich auf den thread Suchen ersetzen per batch in einer TXT gestossen, welcher mit simplen test dateien alà test.txt problemlos funktioniert hat.
leider funktionieren die im thread erstellten scrpits nicht mit den konfig dateien der mail-clients face-sad
selbst wenn ich diese in z.b. 1.txt umbenenne und nach c:\ kopiere (um leerzeichen im UNC pfad auszuschliessen) funktioniert das batch-script nicht.

bei dem windows mail konfig file erhalte ich folgendes:

c:\>mail.bat

c:\>set "Datei=C:\1.oeaccount"

c:\>set "Von=R202PC1"

c:\>set "Nach=vista"

c:\>set "t=c:\temp\text.tmp"

c:\>if exist "c:\temp\text.tmp" del "c:\temp\text.tmp"

c:\>for /F "usebackq delims=" %i in ("C:\1.oeaccount") do set "Line=%i" & set
"Line=!Line:R202PC1=vista!" & echo !Line! 1>>"c:\temp\text.tmp"

c:\>move "c:\temp\text.tmp" "C:\1.oeaccount"
Das System kann die angegebene Datei nicht finden.


das *.js file von thunderbird lässt sich mit dem script editieren, allerdings habe ich hier probleme mit den leerzeichen in der pfad-angabe...
dies könnte ich aber daruch lösen, dass ich das file erst nach c:\ kopiere, dann editiere und wieder zurück kopiere.


besten Dank für eure hilfe

Content-Key: 98316

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

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

Member: menace
menace Oct 06, 2008 at 05:57:28 (UTC)
Goto Top
also ich hab`s jetzt geschafft, dass das script die datei zumindest durcharbeitet, bekomme dann als ergebnis allerdings folgendes:

????????????????????

sieht mir sehr nach asiatischen zeichen aus :D