Base di conoscenze

1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!

Importare le foto Google su kDrive

Questa guida dettaglia come importare le tue foto da Google Photos (https://photos.google.com/) su kDrive Infomaniak.

 

1. Esportare le foto Google

Per recuperare sul disco rigido del tuo computer tutte le foto memorizzate su Google Photos, è necessario utilizzare il servizio Google Takeout. Questo ti permette, tra le altre cose, di scegliere quali album recuperare se desideri procedere per fasi:

  1. Accedi a Google Takeout.
  2. Deseleziona tutti i prodotti per conservare solo Google Photos:
  3. Se necessario, deseleziona gli album da non esportare:
  4. Passa alla fase successiva in fondo alla pagina:
  5. Configura l'esportazione in archivi ZIP.
  6. Clicca in basso sul pulsante “Crea esportazione” per avviare l'esportazione:
  7. Attendi (alcune ore o addirittura giorni) fino a quando non ricevi un'e-mail contenente i link di esportazione in ZIP.
  8. Scarica e decomprimi il contenuto sul tuo computer:
  9. Pulisci e unisci, se necessario, le tue diverse cartelle di foto.

 

2. Correggere le date delle foto esportate…

Durante l'esportazione, le date di creazione dei file vengono modificate e sostituite con la data di esportazione invece della data originale dello scatto. È quindi necessario procedere alla correzione delle date tramite uno script adeguato.

Ecco uno script per utenti esperti che permette di ripristinare i dati corretti nei tuoi file a partire dalle informazioni EXIF (è consigliabile elaborare lotti di 7000-8000 foto max. per evitare un crash):

 

… su macOS

  1. Scarica ExifTool https://exiftool.org/index.html (Pacchetto macOS).
  2. Installa l'applicazione autorizzandone l'apertura in precedenza se necessario:
  3. Apri Script Editor (situato nella tua cartella Applicazioni > Utilità):
  4. Clicca su Nuovo documento.
  5. Incolla il lungo script proposto di seguito nella finestra di Script Editor.
  6. Fai clic su Esegui per avviare lo script, si apre una finestra:
  7. Seleziona la cartella da analizzare.
  8. Lascia quindi girare lo script, modificherà le date o scriverà gli errori in un file errors.txt sulla scrivania.

Lo script da copiare-incollare completamente:

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

 

… su Windows

  1. Scarica ExifTool https://exiftool.org/index.html (eseguibile Windows)
  2. Posizionalo in una cartella accessibile (ad esempio C:\ExifTool).
  3. Rinomina exiftool(-k).exe in exiftool.exe.
  4. Nota il suo percorso (ad esempio C:\ExifTool\exiftool.exe).
    • Lo script cerca l'eseguibile in C:\ExifTool\exiftool.exe. Se lo posizioni altrove, è necessario modificare la seconda riga dello script.
  5. Incolla il lungo script proposto di seguito in un file di testo tipo blocco note sul tuo computer.
  6. Modifica, se necessario, il percorso specificato nel file con quello annotato al punto 4.
  7. Salvalo con l'estensione .ps1, ad esempio UpdateExifDates.ps1.
  8. Fai clic con il tasto destro del mouse sul file .ps1 per eseguirlo con PowerShell (un ambiente di interpretazione dei comandi e di scrittura di script, preinstallato sulle versioni moderne di Windows).
  9. Seleziona la cartella da analizzare.
  10. Lascia quindi girare lo script, modificherà le date o scriverà gli errori in un file DateError.txt sulla scrivania.

PowerShell può bloccare gli script. Per consentirne l'esecuzione (se necessario), apri PowerShell come amministratore e digita Set-ExecutionPolicy RemoteSigned -Scope CurrentUser.

Lo script da copiare-incollare completamente:

# === 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. Importare le foto su kDrive

Non modificare le tue password fino a quando l'importazione non è completata.

Una volta che le tue foto sono pronte, se il loro numero non è troppo elevato (qualche migliaio di elementi) e la tua connessione Internet è adatta, puoi semplicemente aprire l'app Web kDrive (servizio online ksuite.infomaniak.com/kdrive) e scegliere di importare nella posizione desiderata la cartella contenente le tue foto:

  1. Clicca qui per accedere all'app Web kDrive Infomaniak (servizio online ksuite.infomaniak.com/kdrive).
  2. Navigare per raggiungere la posizione che ospiterà le vostre foto.
  3. Cliccate sul pulsante Nuovo in alto a sinistra.
  4. Cliccate su Importa una cartella
  5. Selezionate la cartella contenente le vostre foto sul vostro computer.
  6. Attendete il completamento dell'importazione dei vostri dati (il registro delle attività scorre in basso a destra):

Altrimenti, nel caso in cui sincronizziate i vostri dati tramite l'app desktop, posizionate semplicemente le vostre foto nella struttura della vostra cartella kDrive sul computer. La sincronizzazione inizierà e le vostre foto verranno inviate in sicurezza ai server Infomaniak.

 

4. Accedere alle foto dai vostri dispositivi

Ora potete accedere alle vostre foto sui vostri diversi dispositivi collegati a kDrive (il tempo che impiegano a sincronizzarsi se si tratta dell'app desktop kDrive).

  • Sull'app Web kDrive Infomaniak (servizio online ksuite.infomaniak.com/kdrive) potete modificare la presentazione per visualizzare meglio i vostri scatti con una visualizzazione ingrandita delle miniature:

Questa FAQ è stata utile?