Wissensdatenbank

1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!

Google-Fotos in kDrive importieren

Dieser Leitfaden beschreibt, wie Sie Ihre Fotos von Google Photos (https://photos.google.com/) auf kDrive Infomaniak importieren.

 

1. Google-Fotos exportieren

Um alle auf Google Photos gespeicherten Fotos auf die Festplatte Ihres Computers zu übertragen, müssen Sie den Dienst Google Takeout verwenden. Dieser ermöglicht es Ihnen, auszuwählen, welche Alben Sie abrufen möchten, wenn Sie schrittweise vorgehen möchten:

  1. Melden Sie sich bei Google Takeout an.
  2. Deaktivieren Sie alle Produkte, um nur Google Photos zu behalten:
  3. Deaktivieren Sie bei Bedarf die Alben, die nicht exportiert werden sollen:
  4. Gehen Sie auf der Seite nach unten zum nächsten Schritt:
  5. Konfigurieren Sie den Export in ZIP-Archiven.
  6. Klicken Sie unten auf die Schaltfläche „Export erstellen“, um den Export zu starten:
  7. Warten Sie (mehrere Stunden oder sogar Tage), bis Sie eine E-Mail mit den Links zu den ZIP-Exporten erhalten.
  8. Laden Sie den Inhalt herunter und entpacken Sie ihn auf Ihrem Computer:
  9. Reinigen und kombinieren Sie bei Bedarf Ihre verschiedenen Fotordner.

 

2. Korrigieren Sie die Daten der exportierten Fotos…

Beim Exportieren werden die Erstellungsdaten der Dateien geändert und durch das Exportdatum anstelle des ursprünglichen Aufnahmedatums ersetzt. Daher müssen Sie die Daten über ein geeignetes Skript korrigieren.

Hier ist ein Skript für erfahrene Benutzer, das es Ihnen ermöglicht, die richtigen Daten Ihrer Dateien basierend auf den EXIF-Informationen wiederherzustellen (es wird empfohlen, Chargen von maximal 7000-8000 Fotos zu verarbeiten, um ein Abstürzen zu vermeiden):

 

… auf macOS

  1. Laden Sie ExifTool https://exiftool.org/index.html (macOS-Paket) herunter.
  2. Installieren Sie die Anwendung, indem Sie deren Öffnung im Voraus autorisieren, falls erforderlich:
  3. Öffnen Sie Script Editor (befindet sich in Ihrem Ordner Programme > Dienstprogramme):
  4. Klicken Sie auf Neues Dokument.
  5. Kopieren Sie das unten vorgeschlagene lange Skript in das Script-Editor-Fenster.
  6. Klicken Sie auf Ausführen, um das Skript zu starten. Ein Fenster öffnet sich:
  7. Wählen Sie den zu analysierenden Ordner aus.
  8. Lassen Sie das Skript dann laufen. Es ändert die Daten oder schreibt die Fehler in eine Datei errors.txt auf dem Desktop.

Das zu kopierende Skript:

-- replace file date with EXIF creation date or date from name after the first dash -
tell application "Finder"
    set FolderPath to choose folder with prompt "Select the folder containing the files to update"
    my processFolder(FolderPath)
end tell
on processFolder(aFolder)
    tell application "Finder"
        -- process files:
        set fileList to files of aFolder
        repeat with eachFile in fileList
            -- process a single file
            
            set theFile to eachFile
            set AppleScript's text item delimiters to {""}
            set fileName to name of eachFile --get the file name
            
            set eachFile to eachFile as string --file path
            set hasDate to true --initialize date found flag
            
            try
                --get date if available
                set photoDate to do shell script "/usr/local/bin/exiftool -DateTimeOriginal " & quoted form of POSIX path of eachFile
                if photoDate is "" then set photoDate to do shell script "/usr/local/bin/exiftool -CreationDate " & quoted form of POSIX path of eachFile
                if photoDate is "" then set photoDate to do shell script "/usr/local/bin/exiftool -CreateDate " & quoted form of POSIX path of eachFile
                
                if photoDate is "" then
                    set hasDate to false --check if date was found
                end if
                
            on error
                set hasDate to false -- error retrieving date
                set photoDate to ""
            end try
            
            if length of photoDate > 20 then
                --format extracted date
                set x to (length of photoDate) - 33
                set OriginalDate to text -x thru -1 of photoDate
                set formattedDate to text 1 thru 5 of OriginalDate
                set theYear to formattedDate
                set formattedDate to formattedDate & text 7 thru 8 of OriginalDate
                set theMonth to text 7 thru 8 of OriginalDate
                set formattedDate to formattedDate & text 10 thru 11 of OriginalDate
                set theDay to text 10 thru 11 of OriginalDate
                set formattedDate to formattedDate & text 13 thru 14 of OriginalDate
                set theHour to text 13 thru 14 of OriginalDate
                set formattedDate to formattedDate & text 16 thru 17 of OriginalDate
                set theMinute to text 16 thru 17 of OriginalDate
                set formattedDate to formattedDate & "." & text 19 thru 20 of OriginalDate
                set theSecond to text 19 thru 20 of OriginalDate
                set newName to theYear & "-" & theMonth & "-" & theDay & " " & theHour & "." & theMinute & "." & theSecond
                
                set testValue to formattedDate as string --check if found date is 000
                if testValue is " 000000000000.00" then
                    set hasDate to false
                else
                    -- set file date to original EXIF date and write to log
                    do shell script "touch -t " & formattedDate & " " & quoted form of POSIX path of eachFile
                    set logFile to open for access ((path to desktop folder as text) & "Date Found.txt") as text with write permission
                    write "Original date found for file: " & OriginalDate & " " & eachFile & return to logFile starting at eof
                    close access logFile
                end if
            end if
            
            if hasDate is false then
                -- get date from file name after first dash
                set nb to ""
                set nameDate to ""
                set fileName to fileName as string
                set savedDelimiters to AppleScript's text item delimiters --save delimiters
                set AppleScript's text item delimiters to {"-"} --split on "-"
                set nb to offset of "-" in fileName
                if nb is not 0 then
                    set AppleScript's text item delimiters to savedDelimiters --restore delimiters
                    set nameDate to characters (nb + 1) thru (nb + 8) of fileName as string
                    set nameDate to nameDate & "1200.00"
                    set cmd1 to "/usr/local/bin/exiftool -datetimeoriginal=" & nameDate & " " & quoted form of POSIX path of eachFile
                    set cmd2 to "/usr/local/bin/exiftool -createdate=" & nameDate & " " & quoted form of POSIX path of eachFile
                end if
                try
                    -- write date from name to EXIF
                    do shell script cmd1
                    do shell script cmd2
                    do shell script "touch -t " & nameDate & " " & quoted form of POSIX path of eachFile
                    do shell script "rm " & quoted form of POSIX path of (eachFile & "_original")
                on error
                    -- if date from name is invalid, log the error
                    set logFile to open for access ((path to desktop folder as text) & "Date Error.txt") as text with write permission
                    write "No valid date found in file name: " & eachFile & return to logFile starting at eof
                    close access logFile
                end try
            end if
        end repeat
        
        -- process folders:
        set folderList to folders of aFolder
        repeat with eachSubfolder in folderList
            -- process a subfolder
            my processFolder(eachSubfolder)
        end repeat
    end tell
end processFolder
tell application "Finder"
    display dialog "Done! All files processed." buttons {"Close"}
end tell

 

… unter Windows

  1. Laden Sie ExifTool https://exiftool.org/index.html (Windows-ausführbare Datei) herunter
  2. Legen Sie es in einen zugänglichen Ordner (z. B. C:\ExifTool).
  3. Benennen Sie exiftool(-k).exe in exiftool.exe um.
  4. Notieren Sie seinen Pfad (z. B. C:\ExifTool\exiftool.exe).
    • Das Skript sucht die ausführbare Datei in C:\ExifTool\exiftool.exe. Wenn Sie sie woanders platzieren, müssen Sie die zweite Zeile des Skripts ändern.
  5. Kopieren Sie das unten vorgeschlagene lange Skript in eine Textdatei (z. B. Notepad) auf Ihrem Computer.
  6. Ändern Sie ggf. den im Datei angegebenen Pfad in den unter Punkt 4 notierten.
  7. Speichern Sie es mit der Erweiterung .ps1, z. B. UpdateExifDates.ps1.
  8. Klicken Sie mit der rechten Maustaste auf die Datei .ps1, um sie mit PowerShell auszuführen (eine Befehlszeilen- und Skriptumgebung, die auf modernen Windows-Versionen vorinstalliert ist).
  9. Wählen Sie den zu analysierenden Ordner aus.
  10. Lassen Sie das Skript dann laufen. Es ändert die Daten oder schreibt die Fehler in eine Datei DateError.txt auf dem Desktop.

PowerShell kann Skripte blockieren. Um deren Ausführung zuzulassen (falls erforderlich), öffnen Sie PowerShell als Administrator und geben Sie Set-ExecutionPolicy RemoteSigned -Scope CurrentUser ein.

Das zu kopierende Skript:

# === Configuration ===
$exifToolPath = "C:\ExifTool\exiftool.exe"
$desktop = [Environment]::GetFolderPath("Desktop")
$logFound = Join-Path $desktop "DateFound.txt"
$logError = Join-Path $desktop "DateError.txt"

# === Folder Selection Dialog ===
Add-Type -AssemblyName System.Windows.Forms
$folderBrowser = New-Object System.Windows.Forms.FolderBrowserDialog
$folderBrowser.Description = "Select the folder to process"
if ($folderBrowser.ShowDialog() -ne "OK") { exit }
$folder = $folderBrowser.SelectedPath

function Process-Folder {
    param ([string]$path)
    Get-ChildItem -Path $path -Recurse -File | ForEach-Object {
        $file = $_
        $filePath = $file.FullName
        $fileName = $file.Name
        $hasDate = $true

        # Try reading EXIF date
        $photoRaw = & $exifToolPath -DateTimeOriginal -S -n "$filePath"
        if (-not $photoRaw) { $photoRaw = & $exifToolPath -CreateDate -S -n "$filePath" }
        
        if ($photoRaw -match "\d{4}:\d{2}:\d{2} \d{2}:\d{2}:\d{2}") {
            $photoDate = $matches[0]
            # Nettoyage de la date pour formatage (YYYYMMDDHHMM.SS)
            $dateString = $photoDate -replace '[: ]', ''
            
            if ($dateString.Length -ge 14) {
                $formattedDate = $dateString.Substring(0, 12) + "." + $dateString.Substring(12, 2)
                try {
                    $newDate = [datetime]::ParseExact($photoDate, "yyyy:MM:dd HH:mm:ss", $null)
                    [System.IO.File]::SetCreationTime($filePath, $newDate)
                    [System.IO.File]::SetLastWriteTime($filePath, $newDate)
                    Add-Content -Path $logFound -Value "EXIF date set for: $fileName → $photoDate"
                } catch {
                    $hasDate = $false
                }
            } else { $hasDate = $false }
        } else { $hasDate = $false }

        if (-not $hasDate) {
            if ($fileName -match "-(\d{8})") {
                $nameDateRaw = $matches[1] + "120000"
                try {
                    & $exifToolPath "-datetimeoriginal=$($matches[1]) 12:00:00" "$filePath"
                    & $exifToolPath "-createdate=$($matches[1]) 12:00:00" "$filePath"
                    $newDate = [datetime]::ParseExact($nameDateRaw, "yyyyMMddHHmmss", $null)
                    [System.IO.File]::SetCreationTime($filePath, $newDate)
                    [System.IO.File]::SetLastWriteTime($filePath, $newDate)
                    Add-Content -Path $logFound -Value "Date from filename set for: $fileName"
                } catch {
                    Add-Content -Path $logError -Value "Invalid date in filename: $fileName"
                }
            } else {
                Add-Content -Path $logError -Value "No valid date found for: $fileName"
            }
        }
    }
}

# Execute processing
Process-Folder -path $folder
[System.Windows.Forms.MessageBox]::Show("Done! All files processed.")

 

3. Fotos in kDrive importieren

Ändern Sie Ihre Passwörter nicht, solange der Import nicht abgeschlossen ist.

Sobald Ihre Fotos bereit sind, wenn ihre Anzahl nicht zu groß ist (einige tausend Elemente) und Ihre Internetverbindung geeignet ist, können Sie einfach die Web-App kDrive (Online-Dienst ksuite.infomaniak.com/kdrive) öffnen und den Ordner mit Ihren Fotos an den gewünschten Ort importieren:

  1. Hier klicken, um auf die Web-App kDrive von Infomaniak zuzugreifen (Online-Dienst ksuite.infomaniak.com/kdrive).
  2. Navigieren Sie zu dem Ort, an dem Ihre Fotos gespeichert werden.
  3. Klicken Sie auf die Schaltfläche Neu oben links.
  4. Klicken Sie auf Ordner importieren.
  5. Wählen Sie den Ordner mit Ihren Fotos auf Ihrem Computer aus.
  6. Warten Sie, bis Ihre Daten vollständig importiert sind (das Aktivitätsprotokoll läuft unten rechts durch):

Andernfalls, falls Sie Ihre Daten mit der Desktop-App synchronisieren, legen Sie einfach Ihre Fotos in die Ordnerstruktur Ihres kDrive-Ordners auf dem Computer ab. Die Synchronisation beginnt und Ihre Fotos werden sicher auf die Infomaniak-Server übertragen.

 

4. Zugriff auf Fotos von Ihren Geräten

Sie können nun auf Ihre Fotos auf Ihren verschiedenen mit kDrive verbundenen Geräten zugreifen (die Zeit, die sie benötigen, um sich zu synchronisieren, falls es sich um die Desktop-App kDrive handelt).

  • Über die Web-App kDrive Infomaniak (Online-Dienst ksuite.infomaniak.com/kdrive) können Sie die Ansicht ändern, um Ihre Fotos mit einer vergrößerten Miniaturansicht besser zu visualisieren:

War diese FAQ nützlich?