Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Script zum Einsammeln automatischer Firefox Bookmark-Backups

Frage Entwicklung Batch & Shell

Mitglied: Pferdinand

Pferdinand (Level 1) - Jetzt verbinden

15.12.2014 um 11:16 Uhr, 1518 Aufrufe, 2 Kommentare

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:

01.
@echo off 
02.
if exist listfile.txt del listfile.txt 
03.
 
04.
for /d %%a in ("c:\dokumente und einstellungen\user*") do ( 
05.
	for /d %%b in ("%%a\Anwendungsdaten\Mozilla\Firefox\Profiles\*.default") do ( 
06.
		echo %%b\bookmarkbackups >> listfile.txt 
07.
		7z.exe a -tzip -ir"@listfile.txt" c:\temp\bookmarks.zip  
08.
09.
)
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
Mitglied: Friemler
15.12.2014, aktualisiert um 17:02 Uhr
Hallo Ferdi,

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

01.
@echo off & setlocal 
02.
 
03.
set "UserFolders=C:\Dokumente und Einstellungen\*.*" 
04.
set "AppDataPath=Anwendungsdaten" 
05.
 
06.
set "OutFile=%UserProfile%\Desktop\%ComputerName%_Bookmarks.zip" 
07.
set "WorkFolder=%Temp%\FFBookmarkBackup_%Random%" 
08.
set "PackerPath=7zip.exe" 
09.
 
10.
if exist "%OutFile%" del "%OutFile%" 
11.
md "%WorkFolder%" 
12.
pushd "%WorkFolder%" 
13.
 
14.
for /d %%a in ("%UserFolders%") do ( 
15.
  for /d %%b in ("%%a\%AppDataPath%\Mozilla\Firefox\Profiles\*.default*") do ( 
16.
    md "%%~nxa" 
17.
    copy "%%b\bookmarkbackups\*.*" "%%~nxa" 
18.
    "%PackerPath%" a -tzip "%OutFile%" "%%~nxa\" 
19.
20.
21.
 
22.
popd 
23.
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

01.
@echo off & setlocal 
02.
 
03.
set "UserFolders=C:\Users\*.*" 
04.
set "AppDataPath=AppData\Roaming" 
05.
 
06.
set "InFile=%~1" 
07.
set "WorkFolder=%Temp%\FFBookmarkRestore_%Random%" 
08.
set "PackerPath=7zip.exe" 
09.
 
10.
if "%InFile%" equ "" ( 
11.
  echo Bitte geben Sie eine Eingabedatei an 
12.
  exit /b 1 
13.
14.
if not exist "%InFile%" ( 
15.
  echo Die Eingabedatei existiert nicht 
16.
  exit /b 2 
17.
18.
 
19.
md "%WorkFolder%" 
20.
pushd "%WorkFolder%" 
21.
 
22.
"%PackerPath%" x "%InFile%" 
23.
 
24.
for /d %%a in ("%UserFolders%") do ( 
25.
  for /d %%b in ("%%a\%AppDataPath%\Mozilla\Firefox\Profiles\*.default*") do ( 
26.
    if exist "%%~nxa" ( 
27.
      copy "%%~nxa\*.*" "%%b\bookmarkbackups" 
28.
    ) else ( 
29.
      echo Für das Konto %%~nxa wurden keine Bookmarks gesichert. 
30.
31.
32.
33.
 
34.
popd 
35.
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
Bitte warten ..
Mitglied: Pferdinand
15.12.2014 um 20:19 Uhr
Hallo Friemler,


vielen Dank. Das sieht sehr gut aus und müsste klappen. Ich werde es gleich Morgen Mittag auf der Arbeit ausprobieren.


Gruß

Ferdi
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Automatisch Wordpress Backups auf Raspberry PI Erstellen (7)

Frage von Slakish zum Thema Entwicklung ...

Webbrowser
Deploying managed bookmarks in Google Chrome (2)

Link von DerWoWusste zum Thema Webbrowser ...

Batch & Shell
gelöst Batchdatei für Aufgabenplanung zum Löschen von Backups (2)

Frage von Winuser zum Thema Batch & Shell ...

LAN, WAN, Wireless
Wie Backups von einem in in das andere Netzwerk transportieren? (5)

Frage von GemeinerPinguin zum Thema LAN, WAN, Wireless ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (14)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...