burger
infomaniak
infomaniak
cloud-computing-logo
Cloud Computing
web-domain-logo
Web & Domains
event-marketing-logo
Events & Marketing
  • Our products
    • Collaborative tools icon chevron
    • Web & Domains icon chevron
    • Cloud Computing icon chevron
    • Events & Marketing icon chevron
    • Streaming icon chevron

      ksuiteCollaborative suite

      Discover the collaborative suite → Discover →
    • kSuite Professional email, sovereign cloud and AI for sustainable performance
    • kSuite The suite for secure communication, storage and sharing
    • kdrive
      kDrive Store, collaborate and share your files
    • mail service
      Mail Service Create your email addresses with your domain
    • kChat
      kChat Communicate live with your teams
    • kmeet
      kMeet Organise your meetings online in complete security
    • swisstransfer
      SwissTransfer Send your files up to 50 GB free of charge.
    • kpaste
      kPaste Share and encrypt your sensitive information
    • ksuite
      Custom Brand Control the brand image of your products
    • kChat
      Chk Link reducer & QR code generator
      Find the web hosting solution you need
    • Domain name
      Domain name Reserve your domain name at the best price
    • Site Creator
      Site Creator Create your website with ease
    • web hosting
      Web Hosting Create your website with over 100 CMS
    • web hosting
      Wordpress Hosting Create your WordPress website easily
    • Cloud Server
      Cloud Server Power up your sites with guaranteed resources
    • Node.js Hosting Create a dynamic, interactive site with Node.js
    • SSL Certificat
      SSL certificates Secure your websites with an EV or DV certificate
    • Options
    • Domain privacy
      Domain Privacy Protect your domains’ private data
    • DNS Fast Anycast
      FastAnycast DNS Speed up your site access times
    • Dyn DNS
      DynDNS Access your devices remotely
    • Dyn DNS
      Renewal Warranty Secure your domains against loss and theft
      Find the right Cloud Computing solution

      Cloud services

    • public cloud
      Public Cloud (IaaS) Create your projects in a high-end, ultra-competitive Cloud
    • Cloud Server
      VPS Cloud Create a Windows / Linux server
    • Kubernetes service Deploy your containerised apps on a large scale.
    • VPS Lite
      VPS Lite Create a Windows/Linux server at a low cost
    • Database Service Manage your databases with a managed solution
    • jelastic cloud
      Jelastic Cloud (PaaS) Create your own customised environments
    • Other services

    • llm api
      AI Tools Boost your productivity with our sovereign AI
    • swiss backup
      Swiss Backup Back up your devices in the Cloud
    • nas synology
      NAS Synology Rent a NAS in our secure data centers
    • High availibility
      Very High Availability Create a multi-data center infrastructure with customised SLAs
    • Housing
      Housing Install your servers in our data centers
    • Auth Add a privacy-friendly login method to your apps
      Infomaniak Events, the independent local events portal
      Online ticketing service with a wide choice of concerts, shows and events.
    • online shop
      Ticketing Create your ticketing service and sell tickets
    • kdrive
      Access Control Control access to your events with ease
    • kdrive
      Guest manager Automate your event invitations
    • kdrive
      Newsletter Send your newsletters at competitive prices
    • Streaming radio
      Streaming radio Create and broadcast your own live radio station online
    • streaming video
      Video-Streaming Create and broadcast live events and TV online
    • VOD and AOD
      VOD & AOD service Host and broadcast your recordings without limits
  • Resources
    documentation icon Documentation
    Guides & tutorials
    API documentation
    special offers icon Special offers
    Get started for free
    Student programme
    Become an affiliate
    partner program icon Partner programme
    Find a partner
    Become a partner
    support icon Support & contact
    Contact Support
    Premium support - 24/7
    Contact our sales department
    Hiring an expert
    Migrate to Infomaniak
  • About us
    forest
    icon Ecological commitment
    We pollute. But we are taking action to reduce the footprint of our services and infrastructure
    Discover our commitment →
    icon About Infomaniak
    Our vision, our values
    Our teams
    Infomaniak is recruiting
    Press and communication
    Blog and news
    icon Security
    Data confidentiality
    Bug Bounty Programme
  • Get started for free
    Sign in
  • search-icon
    close-icon
      icon

      Would your needs exceed our solutions? To find out, contact us so that we can advise you personally.

      Our flagship products:
  • search-icon
  • Get started for free
    Sign in
Price Price
Knowledge base

1000 FAQs, 500 tutorials and explanatory videos. Here, there are only solutions!

Knowledge base Import Google Photos to kDrive

    Import Google Photos to kDrive

    This guide details how to import your photos from Google Photos (https://photos.google.com/) to kDrive Infomaniak.

     

    1. Export your Google Photos

    To retrieve all your photos stored on Google Photos to your computer's hard drive, you must use the Google Takeout service. This allows you to choose which albums to retrieve if you want to proceed in steps:

    1. Log in to Google Takeout.
    2. Deselect all products to keep only Google Photos:
    3. If necessary, deselect the albums you do not want to export:
    4. Go to the next step at the bottom of the page:
    5. Configure the export by ZIP archives:
    6. Click at the bottom on the “Create export” button to start the export.
    7. Wait (for several hours or even several days) until you receive an email containing the links to the ZIP exports.
    8. Download and then extract the content onto your computer:
    9. Clean and merge your different photo folders if necessary.

     

    2. Correct the dates of the exported photos…

    During the export, the creation dates of the files are modified and replaced by the export date instead of the original capture date. Therefore, you need to correct the dates using an appropriate script.

    Here is a script for advanced users that allows you to restore the correct data to your files based on EXIF information (it is recommended to process batches of 7000-8000 photos max. to avoid a crash):

     

    ... on macOS

    1. Download ExifTool https://exiftool.org/index.html (macOS Package).
    2. Install the application by allowing it to open first if necessary:
    3. Open Script Editor (located in your Applications > Utilities folder):
    4. Click on New document.
    5. Copy and paste the long script provided below into the Script Editor window.
    6. Click on Run to start the script, a window opens:
    7. Select the folder to analyze.
    8. Let the script run, it will modify the dates or write errors in a file errors.txt on the desktop.

    The script to copy and paste in full:

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

     

    … on Windows

    1. Download ExifTool https://exiftool.org/index.html (Windows executable)
    2. Place it in an accessible folder (for example C:\ExifTool).
    3. Rename exiftool(-k).exe to exiftool.exe.
    4. Note its path (for example C:\ExifTool\exiftool.exe).
    5. Copy and paste the long script below into a text file, such as Notepad, on your computer.
    6. Modify the path specified in the file with the one noted in step 4 if necessary.
    7. Save it with the extension .ps1, for example UpdateExifDates.ps1.
    8. Right-click on the .ps1 file to run it with PowerShell (a command-line interpreter and scripting environment, pre-installed on modern versions of Windows).
    9. Select the folder to analyze.
    10. Let the script run, it will modify the dates or write errors in a file DateError.txt on the desktop.

    PowerShell may block scripts. To allow their execution (if necessary), open PowerShell as an administrator and type Set-ExecutionPolicy RemoteSigned.

    The script to copy and paste entirely:

    # === 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 ===
    $folder = (New-Object -ComObject Shell.Application).BrowseForFolder(0, "Select the folder to process", 0).Self.Path
    
    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
            $photoDate = & $exifToolPath -DateTimeOriginal "$filePath"
            if (-not $photoDate) { $photoDate = & $exifToolPath -CreateDate "$filePath" }
            if (-not $photoDate) { $hasDate = $false }
    
            if ($hasDate -and $photoDate -match "\d{4}:\d{2}:\d{2} \d{2}:\d{2}:\d{2}") {
                $dateString = $matches[0] -replace "[:]", "", 1, 2 -replace "[:]", "", 1, 1 -replace " ", ""
                $formattedDate = $dateString.Substring(0, 12) + "." + $dateString.Substring(12, 2)
    
                try {
                    $newDate = [datetime]::ParseExact($photoDate.Trim(), "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
                }
            }
    
            if (-not $hasDate) {
                if ($fileName -match "-(\d{8})") {
                    $nameDate = $matches[1] + "1200.00"
                    try {
                        & $exifToolPath "-datetimeoriginal=$nameDate" "$filePath"
                        & $exifToolPath "-createdate=$nameDate" "$filePath"
    
                        $touchDate = $nameDate.Substring(0,12) + "." + $nameDate.Substring(12,2)
                        $newDate = [datetime]::ParseExact($touchDate, "yyyyMMddHHmm.ss", $null)
                        [System.IO.File]::SetCreationTime($filePath, $newDate)
                        [System.IO.File]::SetLastWriteTime($filePath, $newDate)
    
                        Add-Content -Path $logFound -Value "Date from filename set for: $fileName → $newDate"
                    } 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. Import the photos to kDrive

    Once your photos are ready, if there aren't too many of them (a few thousand items) and your Internet connection is suitable, you can simply open the Web app kDrive (online service kdrive.infomaniak.com) and choose to import the folder containing your photos to the desired location:

    1. Click here to access the Web app kDrive Infomaniak (online service kdrive.infomaniak.com).
    2. Navigate to the location that will host your photos.
    3. Click on the ‍ New button at the top left.
    4. Click on Import a folder.
    5. Select the folder containing your photos on your computer.
    6. Wait until your data has been fully imported (the activity log scrolls at the bottom right):

    Otherwise, if you are synchronizing your data using the desktop app, simply place your photos in the folder structure of your kDrive folder on your computer. Synchronization will begin, and your photos will be securely sent to the Infomaniak servers.

     

    4. Access your photos from your devices

    You can now access your photos on your various connected devices to kDrive (until they synchronize if it is the desktop app kDrive).

    On the Web app kDrive (online service kdrive.infomaniak.com), you can change the layout to better view your pictures with an enlarged display of thumbnails:



    Link to this FAQ:
    Has this FAQ been helpful?
    Thank you for your feedback. Improve this FAQ?
    Please do not ask any questions through this form, it is only used to improve our FAQ.
    Please use our contact form for any question.
    Your message has been sent. Thank you for suggesting an improvement to this FAQ.
    Display all FAQs for this product
    logo infomaniak
    Prices do not include VAT
    facebook
    twitter
    linkedin
    instagram

    Infomaniak

    About Infomaniak The team Infomaniak is recruiting Press space Infomaniak blog All certificates Products and offers Clients' opinions

    Support

    Assistance 7/7 FAQ and guides Premium Support Sales contact API REST Report abuse WHOIS Statuts Public Cloud Service status

    Partnerships

    Become a reseller Affiliate programme Directory of partners Requests for quotes

    Ecology

    Green hosting Certificates & awards

    Follow our development

    The email entered is invalid
    earth icon
    • EN
      • EN
      • DE
      • ES
      • FR
      • IT
    ©2025 Infomaniak - Legal documents - Legal notice - Data Protection - Privacy Policy - Site map - Manage your cookies
    icann-logo
    swiss
    new-iso
    swiss-hosting
    logo infomaniak
    Prices do not include VAT

    Infomaniak

    About Infomaniak The team Infomaniak is recruiting Press and media Infomaniak blog All certificates Products and offers Clients' opinions

    Support

    Assistance 7/7 FAQ and guides Premium Support offer Sales contact API REST Report abuse WHOIS Statuts Public Cloud Service status

    Partnerships

    Become a reseller Affiliate programme Directory of partners Requests for quotes

    Ecology

    Green hosting Certificates & awards

    Follow our development

    The email entered is invalid
    icann-logo
    swiss
    new-iso
    swiss-hosting

    facebook
    twitter
    linkedin
    instagram
    ©2025 Infomaniak
    Contracts - Legal notice - Data Protection - Privacy Policy - Site map - Manage your cookies

    Managers

    earth icon
    • EN
      • EN
      • DE
      • ES
      • FR
      • IT
    Your browser is outdated, security and browsability are no longer guaranteed. We recommend that you update it as soon as possible by clicking here.