Script zum Einsammeln automatischer Firefox Bookmark-Backups
Hallo Allerseits,
ich muss mehrere PC's von Windows XP auf Windows 7 umstellen. Da viele PC's von mehreren Mitarbeitern nacheinander genutzt wurden, hat der ein oder andere von ihnen auf dem PC Firefox Lesezeichen angelegt. Nun möchte ich nicht in jedes Userprofil einzeln abtauchen sondern bequem per Script die für jeden angelegten Bookmarks einsammeln und in einer zentralen Datei oder einem zentralen Ordner speichern. Dazu habe ich mit mit Hilfe des in diesem Forum sehr guten "FOR Schleifen Tutorial" folgende Zeilen zusammen gebastelt:
Leider macht mir 7-Zip einen Strich durch die Rechnung, da er leider NICHT den gesamten Pfad mit sichert sondern nur die im angegebenen Pfad enthaltenen Dateien. Da diese bei jedem User gleich sind, erhalte ich nur die BOOKMARKBACKUPS des ersten Users, bei allen weiteren Usern bricht 7-Zip mit dem Hinweis auf doppelte Dateinamen ab.
Wie könnte ich das realisieren ohne noch mehr betriebssystem fremde Anwendungen wie 7-Zip nehmen zu müssen?
Vielen Dank schonmal im voraus
Ferdi
ich muss mehrere PC's von Windows XP auf Windows 7 umstellen. Da viele PC's von mehreren Mitarbeitern nacheinander genutzt wurden, hat der ein oder andere von ihnen auf dem PC Firefox Lesezeichen angelegt. Nun möchte ich nicht in jedes Userprofil einzeln abtauchen sondern bequem per Script die für jeden angelegten Bookmarks einsammeln und in einer zentralen Datei oder einem zentralen Ordner speichern. Dazu habe ich mit mit Hilfe des in diesem Forum sehr guten "FOR Schleifen Tutorial" folgende Zeilen zusammen gebastelt:
@echo off
if exist listfile.txt del listfile.txt
for /d %%a in ("c:\dokumente und einstellungen\user*") do (
for /d %%b in ("%%a\Anwendungsdaten\Mozilla\Firefox\Profiles\*.default") do (
echo %%b\bookmarkbackups >> listfile.txt
7z.exe a -tzip -ir"@listfile.txt" c:\temp\bookmarks.zip
)
)
Leider macht mir 7-Zip einen Strich durch die Rechnung, da er leider NICHT den gesamten Pfad mit sichert sondern nur die im angegebenen Pfad enthaltenen Dateien. Da diese bei jedem User gleich sind, erhalte ich nur die BOOKMARKBACKUPS des ersten Users, bei allen weiteren Usern bricht 7-Zip mit dem Hinweis auf doppelte Dateinamen ab.
Wie könnte ich das realisieren ohne noch mehr betriebssystem fremde Anwendungen wie 7-Zip nehmen zu müssen?
Vielen Dank schonmal im voraus
Ferdi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 257666
Url: https://administrator.de/forum/script-zum-einsammeln-automatischer-firefox-bookmark-backups-257666.html
Ausgedruckt am: 12.05.2025 um 15:05 Uhr
2 Kommentare
Neuester Kommentar
Hallo Ferdi,
da kommst Du wohl nicht um einen zweistufigen Prozess herum:
Analoges gilt für den Restore.
In Zeile 8 muss der Pfad zur
In Zeile 8 muss wieder der Pfad zur 7zip.exe eingetragen werden. Die mit dem ersten Script erzeugte ZIP-Datei kann per Drag&Drop oder Kommandozeile an das Script übergeben werden. Dabei muss der vollständige Pfad der Datei verwendet werden!! Die Verzeichnisse mit den Benutzerprofilen müssen auf Quell- und Zielrechner den gleichen Namen haben. Um den Restore zunächst nur zu testen, kannst Du in Zeile 27 einen
Gruß
Friemler
da kommst Du wohl nicht um einen zweistufigen Prozess herum:
- Kopieren der Bookmarks jedes Benutzers in ein separates temporäres Verzeichnis
- Hinzufügen dieses Verzeichnisses zum Archiv
Analoges gilt für den Restore.
Backup-Script
@echo off & setlocal
set "UserFolders=C:\Dokumente und Einstellungen\*.*"
set "AppDataPath=Anwendungsdaten"
set "OutFile=%UserProfile%\Desktop\%ComputerName%_Bookmarks.zip"
set "WorkFolder=%Temp%\FFBookmarkBackup_%Random%"
set "PackerPath=7zip.exe"
if exist "%OutFile%" del "%OutFile%"
md "%WorkFolder%"
pushd "%WorkFolder%"
for /d %%a in ("%UserFolders%") do (
for /d %%b in ("%%a\%AppDataPath%\Mozilla\Firefox\Profiles\*.default*") do (
md "%%~nxa"
copy "%%b\bookmarkbackups\*.*" "%%~nxa"
"%PackerPath%" a -tzip "%OutFile%" "%%~nxa\"
)
)
popd
rd /s /q "%WorkFolder%"
In Zeile 8 muss der Pfad zur
7zip.exe
eingetragen werden. Das Script erzeugt eine Datei, deren Name nach dem Muster <ComputerName>_Bookmarks.zip
aufgebaut ist. Die Archivdatei enthält für jeden Benutzer ein Verzeichnis, das die Dateien aus dem bookmarkbackups
-Verzeichnis des jeweiligen Firefox-Defaultprofils enthält. Der Speicherort der Datei kann in Zeile 6 eingestellt werden.
Restore-Script
@echo off & setlocal
set "UserFolders=C:\Users\*.*"
set "AppDataPath=AppData\Roaming"
set "InFile=%~1"
set "WorkFolder=%Temp%\FFBookmarkRestore_%Random%"
set "PackerPath=7zip.exe"
if "%InFile%" equ "" (
echo Bitte geben Sie eine Eingabedatei an
exit /b 1
)
if not exist "%InFile%" (
echo Die Eingabedatei existiert nicht
exit /b 2
)
md "%WorkFolder%"
pushd "%WorkFolder%"
"%PackerPath%" x "%InFile%"
for /d %%a in ("%UserFolders%") do (
for /d %%b in ("%%a\%AppDataPath%\Mozilla\Firefox\Profiles\*.default*") do (
if exist "%%~nxa" (
copy "%%~nxa\*.*" "%%b\bookmarkbackups"
) else (
echo Für das Konto %%~nxa wurden keine Bookmarks gesichert.
)
)
)
popd
rd /s /q "%WorkFolder%"
In Zeile 8 muss wieder der Pfad zur 7zip.exe eingetragen werden. Die mit dem ersten Script erzeugte ZIP-Datei kann per Drag&Drop oder Kommandozeile an das Script übergeben werden. Dabei muss der vollständige Pfad der Datei verwendet werden!! Die Verzeichnisse mit den Benutzerprofilen müssen auf Quell- und Zielrechner den gleichen Namen haben. Um den Restore zunächst nur zu testen, kannst Du in Zeile 27 einen
ECHO
-Befehl vor den COPY
-Befehl schreiben.Gruß
Friemler