Bilder-to-go: Eure Fotos in der Cloud mit “Sync-Pictures”
Heute will ich euch mal was über ein Thema schreiben, welches primär nichts mit Surface Devices zu tun hat. Es zeigt euch aber, wie man seine Bildersammlung einfach und simpel mit auf die Reise nehmen kann und auch noch für ein Backup sorgt.
Vor nunmehr 15 Jahren habe ich die digitale Fotografie für mich entdeckt und praktiziere diese als Hobby. Ihr könnt euch sicherlich vorstellen, wie viele Bilder da so im Lauf der Jahre zusammengekommen sind (bei mir sind es gut 48.000).
Und da stellen sich einem Hobbyfotograden automatisch zwei Fragen:
- Wie sorge ich bei so vielen Bildern für ein Backup?
- Wie kann ich einfach, kostengünstig und überall auf meine Fotosammlung zugreifen?
Die Antwort auf diese Fragen lautet: mit OneDrive
Denn
- Bietet mir OneDrive die Möglichkeit eine Sicherung meiner Bilder zu bekommen
- Ist OneDrive bis zu einem Speichervolumen von 5 GB kostenlos, 50 GB kosten 2€/Monat, Office 365 Kunden bekommen 1 TB Speicherplatz auf OneDrive ohne Zusatzkosten (alle Preise: https://onedrive.live.com/about/de-De/plans/)
Was ich mich jedoch in diesem Zusammenhang gefragt habe: brauche ich wirklich ein 1:1 Abbild meiner Bildersammlung auf OneDrive? Für mich heißt dabei die Antwort: „Nein“. Mir genügt nämlich eine verkleinerte Version der Bilder, welche mir dann einen schnellen, mobilen Zugriff gestattet.
Und so habe ich begonnen meine Dateien mit IrfanView herunter zu skalieren und im OneDrive-Ordner abzulegen.
Wichtig war mir dabei eine gute Gliederung, damit ich meine Bilder auch schnell finden kann. Ich habe mich für eine Gliederung nach Jahreszahlen gefolgt von Hauptthemen und dann Unterthemen entschieden, das sieht dann z.B. so aus:
Allerdings war mir der manuelle Abgleich mit IrfanView mit der Zeit zu aufwändig und auch nicht konstant genug. Denn wenn ich z.B. Bilder in der Quelle verschiebe, umbenenne oder gar lösche, dann muss das auch in der OneDrive-Struktur nachgezogen werden.
Und aus diesem Grund habe ich mich entschieden ein passendes PowerShell-Skript zu bauen, welches diese Aufgaben automatisch für mich erledigt. Und so präsentiere ich:
Sync-Pictures.ps1
Und was genau kann das Skript so alles? Da ist mit der Zeit viel zusammengekommen:
- JPG-Files von einem Quellverzeichnis rekursiv einlesen, falls diese im Zielverzeichnis nicht vorhanden sind herunterrechnen und mit gleicher Ordnerstruktur ablegen.
- Automatisch erkennen, wenn im Zielverzeichnis ein Bild vorhanden ist, welches in der Quelle fehlt, und dieses löschen.
- Erkennen, wenn ein Bild in Quelle und Ziel vorhanden, aber in der Quelle neuer ist (z.B. nach einer Bearbeitung mit PhotoShop). Das Ziel wird dann aktualisiert.
- Verzeichnisse auf Wunsch ignorieren (z.B. Verzeichnisse mit unerwünschten Bildern – diese heißen bei mir BACKUP).
- Die Zielauflösung der Datei automatisch anhand der aktuellen Displayauflösung ermitteln (so habe ich immer die optimale Auflösung). Diese Werte kann man bei Bedarf aber auch manuell steuern.
- Nur Hauptverzeichnisse synchronisieren, die mit einer Jahreszahl beginnen (Standard) oder aber auch alle.
Und was habt ihr davon?
Natürlich will ich euch von meiner Arbeit profitieren lassen und stelle euch das Skript zur Verfügung! Aber keine Angst, um es zu nutzen benötigt ihr keinerlei Programmierkenntnisse. Ihr bekommt alles geliefert, damit das Skript für euch möglichst einfach zu nutzen ist.
Installation
Voraussetzung:
- Auf eurem System muss IrfanView in der 32bit Version installiert sein. Falls ihr das nicht habt könnt ihr es hier herunterladen: http://www.irfanview.net/
- Auf eurem System muss die Ausführung von PowerShell-Scripts erlaubt sein, was standardmäßig nicht der Fall ist. Um die Ausführung zu erlauben müsst ihr eine PowerShell als Administrator ausführen (ruft Powershell.exe über das Windows Startmenü auf – rechtklick “Als Administrator ausführen” nicht vergessen) und folgenden Befehl eingeben: set-executionpolicy remotesigned -force
Die Installation ist denkbar einfach:
- Ladet euch das ZIP-File herunter und entpackt es in ein beliebiges Verzeichnis
- Öffnet den Explorer und geht in das Verzeichnis, in welches ihr das ZIP-File entpackt habt
- Führt einen Rechtsklick auf die Datei install.ps1 aus und wählt im Menü Mit PowerShell ausführen
- Es öffnet sich kurz ein PowerShell-Fenster und auf eurem Desktop erscheint ein Icon mit dem Namen Sync-OneDrive
Anpassung
Die Standardinstallation geht von folgenden Punkten aus:
- Das Quellverzeichnis ist das Bilderverzeichnis in eurem Profil (%userprofile%\pictures)
- Das Zielverzeichnis ist das Unterverzeichnis Bilder in eurem OneDrive-Ordner und dieser liegt in eurem Profil (%userprofile%)
- Die Bilder sind nach Jahreszahlen gegliedert (wie auf meinem Explorer-Screenshot)
- Nur Hauptordner mit Jahreszahlen sollen synchronisiert werdenl
- Ordnernamen, die den Begriff BACKUP enthalten oder genau so heißen werden ignoriert
Natürlich lässt sich das alles anpassen. Dazu müsst ihr nur die Datei sync.cmd aus dem Zielverzeichnis, in das ihr das ZIP-File entpackt habt in einen Editor laden. Das sieht dann so aus:
@echo off
set Source = %userprofile%\Pictures
set Target = %userprofile%\OneDrive\Bilder
set Filter = “BACKUP” set Home = %~dp0
set /p year=Jahreszahl nennen oder Eingabetaste:
if “%year%”== “” (
powershell -file %Home%\Sync-Pictures.ps1 -SourceDir “%Source%” -TargetDir “%Target%” -mode both -filter %Filter%
goto :end
)
powershell -file %Home%\Sync-Pictures.ps1 -SourceDir “%Source%\%year%” -TargetDir “%Target%\%year%” -mode both -filter %Filter% -all :end pause
- Um Quell- bzw. Zielverzeichnis zu verändern müsst ihr lediglich die Variablen Source bzw. Target entsprechend anpassen
- Sind die Bilder nicht nach Jahreszahl gegliedert, so müsst ihr am Ende der ersten Zeile, welche powershell aufruft, noch den Parameter „ -all“ ergänzen. Natürlich macht dann die Abfrage der Jahreszahl keinen Sinn mehr, diese müsst ihr dann grundsätzlich mit der Eingabetaste übergehen
- Sollen andere Verzeichnisse als BACKUP gefiltert werden, so müsst ihr die Variable Filter entsprechend anpassen. Ihr könnt auch mehrere Filter setzen, die Einträge sind dabei durch ein Komma getrennt (z.B. set Filter = „Backup“,“Trash“)
Nutzung
Die Nutzung ist sehr einfach. Zum Start müsst ihr nur das Icon Sync-OneDrive auf dem Desktop anklicken oder die Tastenkombination <Strg><Alt><S> (das kann in den Eigenschaften des Icons auf dem Desktop auch geändert werden) betätigen . Es öffnet sich ein Fenster, welches eine Jahreszahl abfrägt. Nun gebt ihr entweder die Jahreszahl ein, deren Bilder synchronisiert werden sollen (das wäre dann der Ordner mit der entsprechenden Jahreszahl) oder ihr drückt einfach direkt die Eingabetaste, dann werden alle Bilder synchronisiert.
Das war’s eigentlich schon, die Synchronisation der Ordner wird im Fenster angezeigt. Je nach Umfang kann das natürlich recht lange dauern. Die Dauer hängt dabei von der Anzahl der Bilder, deren Auflösung und von der Systemleistung (CPU, Disks) sowie der verfügbaren Internetgeschwindigkeit für den Upload zu OneDrive ab.
Direkte Nutzung von Sync-Pictures
Natürlich kann das PowerShell-Skript auch direkt in einer PowerShell Commandline aufgerufen werden. Alternativ ändert ihr die Parameter in der Datei sync.cmd, mit der das Skript aufgerufen wird.
Das solltet ihr natürlich nur machen, wenn ihr mit der Nutzung von PowerShell-Skripten und Commandlets vertraut seit.
Folgender Befehl, ausgeführt im Verzeichnis, in dem das Skript liegt, zeigt euch eine ausführliche Hilfe an:
Get-help Sync-Pictures.ps1 -full
Wieder entfernen
Ihr habt das Tool getestet, habt aber keine weitere Verwendung dafür? Schade, aber natürlich kein Problem. Einfach das Icon auf dem Desktop löschen und den Ordner, in den ihr das ZIP-File entpackt hattet wieder löschen – fertig!
Und weiter?
Ich würde mich freuen, wenn ihr mir Feedback zu diesem kleinen Projekt geben würden. Auch sind Entwickler herzlich eingeladen das Skript weiter zu verbessern. Über eine Email mit euren Verbesserungen würde ich mich sehr freuen!
[affilinet_performance_ad size=468×60]
Super Artikel.
Ich arbeite für verschiedene Firmen.
Fotografiert wird ausschließlich mit meinem iPhone 7 Plus.
Das schöne dabei ist, dass ich mit nach Fotos z.B. In
• Ulm
• Berlinerstr
oder nach Kategorien wie z.B.
• Badezimmer
• Badewanne
• Hochzeit
• Brücke
suchen kann.
Das funktioniert außerordentlich gut.
Trotzdem sortiere ich noch händisch der Übersicht wegen am SP4 und MBP.
Ich vermisse nur noch zwei Funktionen.
(1) Automatisches TAGGEN von selbst erstellten Gruppen (5x Fotos z.B. vorgeben, das App such mir dann alle anderen 100 oder 1000 Fotos raus die so ähnlich sind)
(2) Durchsuchen nach TAG-Begriffen in einer Cloud.
Nachdem Microsoft ein App veröffentlicht hat, das an Hand eines Fotos sagt was für einnHund auf dem Foto ist um
ein Kickstarter Projekt sich jetzt mit dem “Was ist das für eine Pflanze auf dem Foto” beschäftigt, bin ich zuversichtlich, dass ich in 5 Jahren nicht mehr selber taggen muss.
+2016 +München +Edeka
Solche Suchmöglichkeiten will ich
Kann ich nachvollzielen, würde sowas auch begrüßen.
Bisher nehme ich keinerlei Tagging vor sondern nutze die Ordnerstruktur.
Gruß
Thomas
Sehr schönes Tutorial! Viele Nicht dank dafür!
Was mich an dieser Stell noch interessieren würde ist, ob Du Deine Bilder noch anderweitig bearbeitest- also bspw. Photoshop o.ä. – wenn ja wie sieht hier evtl. Dein Workflow aus und welches Gerät nutzt Du persönlich primär um Deine Bilder zu bearbeiten?
Ich bin gerade selbst dabei mir einen Workflow zu entwickeln und bearbeite tatsächlich meine Bilder auch primär auf meinem Surface. Vielleicht kann man sich ja an dieser Stelle auch einmal austauschen 🙂
Beste Grüße
Christian
Ja, ich bearbeite sehr viele Bilder nach. Als Originale lege ich immer RAW-Files in einem Unterverzeichnis des jeweiligen Bildordners ab. Ich nutzte aktuell bisher nur Photoshop, an die RAW-Entwicklung habe ich mich nicht getraut, wäre aber im Notfall immer wieder machbar.
Das mache ich alles an meinem Surface, aber natürlich über einen großen Monitor (27″) und Tastatur / Maus. Direkt am Surface ist das nur eine Notlösung.
Gruß
Thomas
Noch ein Nachtrag zum Workflow:
1. Bilder werden von der SD-Card auf eine USB-Platte am Surface kopiert
2. Dort wandern sie dann in die oben beschriebene Jahresstruktur, RAW-Files in entsprechende Unterordner
3. Jetzt erfolgt eine 1:1 Kopie auf meinen Server, welcher die Bilder wieder redundant ablegt (RAID-1)
4. Bilder werden nachbearbeitet, danach wieder ein Abgleich mit dem Server
5. Sync-Pictures wird angeworfen, um portable Bilder auf OneDrive abzulegen