Wegen des Umzugs unseres Intranet-Portals vor ein paar Monaten, war es nötig, die Startseite in sämtlichen Firefox-Profilen per Softwareverteilung auf die neue Adresse zu aktualisieren. Ich dachte mir, dass es über eine Stapelverarbeitungsdatei kein Problem sein sollte. Dann fiel mir auf, dass ich keinen Windows-Befehl kannte, mit dem man eine Zeichenkette durch eine andere ersetzen kann.
Glücklicherweise fand ich nach einer Runde googeln die Seite von Chris LaRosa, auf der man die Datei CPLUTILS.ZIP herunterladen kann. Darin enthalten ist u.a. die Datei REPL.EXE, die in der Lage ist, Text auf der Kommandozeile durch anderen Text zu ersetzen.
So war ich dann doch noch in der Lage, ein Skript zu basteln, das die Startseite des Firefox unter Windows ohne Zutun des Benutzers aktualisieren kann:
rem Dieses Skript ändert die Mozilla-Firefox-Startseite des angemeldeten Benutzers,
rem auf eine neue URL, die unten eingegeben werden kann.
@echo off
set PATH=%PATH%C:\;
rem Hier die neue Startseite eintragen (keine abschließenden Leerzeichen!!!)
set neue_url=http://www.meine.url
rem Verzeichniswechsel zum Ordner Mozilla im Pfad für Anwendungsdaten
C:
cd "%appdata%"
cd Mozilla
rem Hier wird nach sämtlichen prefs.js Dateien im Ordner gesucht und diese nacheinander verarbeitet
rem Zuerst wird die aktuelle Startseite aus der Datei ausgelesen und in der Datei C:\needle.txt gespeichert
rem Anschließend wird besagter Text aus C:\needle.txt in einer temporären Kopie der prefs.js durch den Text aus neue_url ersetzt
for /F "delims=!" %%f in ('dir /s /b prefs.js') DO ( find "browser.startup.homepage" "%%f" | find "http" | repl \q \\q > C:\needle.txt
FOR /F "delims=!" %%n in ('type C:\needle.txt') DO ( echo %%n
type "%%f" | repl "%%n" "user_pref(\qbrowser.startup.homepage\q, \q%neue_url%\q);" > C:\prefs.tmp)
copy C:\prefs.tmp "%%f"
)
)
rem Löschung der temporären Dateien
del C:\needle.txt
del C:\prefs.tmp
Obwohl ich das Teil mit so ziemlich jeder Firefox-Version vor 2.10 getestet habe, ist das gute Stück sicher nicht der Weisheit letzter Schluss. Wenn ihr also Fragen oder Kommentare dazu habt: Immer her damit!
Kommentare