Kennisbank

1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!

Google Foto's importeren in kDrive

Deze handleiding beschrijft hoe u uw foto's van Google Foto's (https://photos.google.com/) kunt importeren naar kDrive van Infomaniak.

 

1. Google Foto's exporteren

Om alle foto's die zijn opgeslagen in Google Foto's naar de harde schijf van uw computer te verplaatsen, moet u de dienst Google Takeout gebruiken. Hiermee kunt u selecteren welke albums u wilt downloaden, als u dit stap voor stap wilt doen:

  1. Log in op Google Takeout.
  2. Schakel alle producten uit, zodat alleen Google Foto's overblijft:
  3. Schakel indien nodig de albums uit die u niet wilt exporteren:
  4. Ga op de pagina naar beneden naar de volgende stap:
  5. Configureer de export in ZIP-archieven.
  6. Klik onderaan op de knop "Export maken" om de export te starten:
  7. Wacht (enkele uren of zelfs dagen) tot u een e-mail ontvangt met de links naar de ZIP-exports.
  8. Download de inhoud en pak deze uit op uw computer:
  9. Sorteer en combineer indien nodig uw verschillende fotomappen.

 

2. Corrigeer de gegevens van de geëxporteerde foto's…

Bij het exporteren worden de aanmaakdata van de bestanden gewijzigd en vervangen door de exportdatum in plaats van de oorspronkelijke opnamedatum. Daarom moet u de data corrigeren met behulp van een geschikt script.

Hier is een script voor ervaren gebruikers waarmee u de juiste data van uw bestanden kunt herstellen op basis van de EXIF-informatie (het wordt aanbevolen om batches van maximaal 7000-8000 foto's te verwerken om crashes te voorkomen):

 

… op macOS

  1. Download ExifTool van https://exiftool.org/index.html (macOS-pakket).
  2. Installeer de applicatie door de opening ervan vooraf te autoriseren, indien nodig:
  3. Open Script Editor (te vinden in uw map Programma's > Hulpprogramma's):
  4. Klik op Nieuw document.
  5. Kopieer het onderstaande script in het Script Editor-venster.
  6. Klik op Uitvoeren om het script te starten. Er opent een venster:
  7. Selecteer de map die u wilt analyseren.
  8. Laat het script vervolgens uitvoeren. Het wijzigt de data of schrijft de fouten naar een bestand errors.txt op uw bureaublad.

Het script dat u moet kopiëren:

-- 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

 

… onder Windows

  1. Download ExifTool van https://exiftool.org/index.html (Windows-uitvoerbaar bestand).
  2. Plaats het in een gemakkelijk toegankelijke map (bijv. C:\ExifTool).
  3. Hernoem exiftool(-k).exe naar exiftool.exe.
  4. Noteer het pad (bijv. C:\ExifTool\exiftool.exe).
    • Het script zoekt naar het uitvoerbare bestand in C:\ExifTool\exiftool.exe. Als u het ergens anders plaatst, moet u de tweede regel van het script wijzigen.
  5. Kopieer het hieronder voorgestelde lange script naar een tekstbestand (bijv. Kladblok) op uw computer.
  6. Wijzig indien nodig het pad in het bestand en vervang dit door het pad dat u in stap 4 heeft genoteerd.
  7. Sla het op met de extensie .ps1, bijvoorbeeld UpdateExifDates.ps1.
  8. Klik met de rechtermuisknop op het .ps1-bestand om het uit te voeren met PowerShell (een opdrachtregel- en scriptomgeving die standaard is geïnstalleerd op moderne Windows-versies).
  9. Selecteer de map die u wilt analyseren.
  10. Laat het script vervolgens uitvoeren. Het wijzigt de data of schrijft eventuele fouten naar een bestand DateError.txt op uw bureaublad.

PowerShell kan scripts blokkeren. Om de uitvoering toe te staan (indien nodig), opent u PowerShell als administrator en voert u Set-ExecutionPolicy RemoteSigned -Scope CurrentUser in.

Het script dat u moet kopiëren:

# === 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. Foto's importeren in kDrive

Wijzig uw wachtwoorden niet totdat de import is voltooid.

Zodra uw foto's klaar zijn, als het aantal niet te groot is (enkele duizenden items) en uw internetverbinding geschikt is, kunt u eenvoudig de web-app kDrive (online dienst ksuite.infomaniak.com/kdrive) openen en de map met uw foto's importeren naar de gewenste locatie:

  1. Klik hier om toegang te krijgen tot de web-app kDrive van Infomaniak (online dienst ksuite.infomaniak.com/kdrive).
  2. Navigeer naar de locatie waar uw foto's zijn opgeslagen.
  3. Klik op de knop Nieuw linksboven.
  4. Klik op Map importeren.
  5. Selecteer de map met uw foto's op uw computer.
  6. Wacht tot uw gegevens volledig zijn geïmporteerd (de activiteitslogboek wordt rechtsonder weergegeven):

Als u uw gegevens synchroniseert met de desktop-app, plaatst u uw foto's eenvoudigweg in de mapstructuur van uw kDrive-map op uw computer. De synchronisatie begint en uw foto's worden veilig overgebracht naar de Infomaniak-servers.

 

4. Toegang tot foto's vanaf uw apparaten

U kunt nu toegang krijgen tot uw foto's op uw verschillende apparaten die zijn verbonden met kDrive (de tijd die nodig is voor de synchronisatie kan variëren, afhankelijk van of u de desktop-app kDrive gebruikt).

  • Via de web-app kDrive van Infomaniak (online dienst ksuite.infomaniak.com/kdrive) kunt u de weergave aanpassen om uw foto's beter te visualiseren met grotere miniaturen:

Link naar deze veelgestelde vragen: https://faq.infomaniak.com/2540


Is deze veelgestelde vragenlijst nuttig geweest?