I recently bought a Mac and moved my photos from Picasa on my old PC to iPhoto on my new Mac. To do this I used the backup tool in Picasa to save all of my photos to an external hard drive & then imported the folder from that drive onto my new Mac. That's where I ran into an issue. Picasa saves all of your albums in folders. Each album folder contains your photos, and if you've made edits, a sub-folder that holds you original (master) file. This is great because it is non-destructive (you always have your original file saved), iPhoto does the same thing, but in a slightly different way. The problem was when I imported into iPhoto from my Picasa backup, iPhoto didn't recognize Picasa's Edited/Master scheme so I end up with lots of "duplicates" (where I had fixed red-eye, cropped, etc.)
I decided I would rather have my Original Masters from Picasa imported into iPhoto rather than the edited files, so I needed a way to revert everything back to my masters in my Picasa backup. I started going through each sub-directory and copying the original into the root to overwrite the edited file (they have the same file name), but this was very tedious. I found an example batch script here: http://forums.techguy.org/dos-other/916240-batch-move-files-delete-folder.html that copies the contents of one folder into another, then tweeked it to work for me.
--------------------------------------------------------------------------------------
@Echo Off
Set _Source=C:\Users\XXXX\Pictures
Set _FindDir=Originals
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
PushD "%_Source%"
For /F "Tokens=* Delims=" %%A In ('Dir /AD /B') Do (
If Exist "%_Source%\%%A\%_FindDir%" (
Move "%%A\%_FindDir%\*.*" "%_Source%\%%A"
For /F "Tokens=* Delims=" %%I In ('Dir /AD /B
"%_Source%\%%A\%_FindDir%"') Do Move "%_Source%\%%A\%_FindDir%\%%I"
"%_Source%\%%A\"
RD /S /Q "%_Source%\%%A\%_FindDir%"
) Else (
Echo There is no %_FindDir% folder in %_Source%\%%A\
))
PopD
--------------------------------------------------------------------------------------
You have to set the source directory (Set _Source) & the name of the directory where the masters are saved (Set _FindDir). The batch will iterate through all of the folders (albums) in the source directory and copy the originals over the edited files. To use the routine you need to open Notepad, copy/paste, and save as .bat. Just double click the .bat file and it will execute.
I had used Picasa since version 1, and they went through a couple of different naming schemes for the sub-folder containing your masters, so you will have to run the script for each of these sub-folder names ("Originals", "picasaoriginals", etc.). I made a copy of my Picasa backup & ran it on the copy just to be safe.
This took me a while to figure out, so I figured I would post it and it may help someone else.
I decided I would rather have my Original Masters from Picasa imported into iPhoto rather than the edited files, so I needed a way to revert everything back to my masters in my Picasa backup. I started going through each sub-directory and copying the original into the root to overwrite the edited file (they have the same file name), but this was very tedious. I found an example batch script here: http://forums.techguy.org/dos-other/916240-batch-move-files-delete-folder.html that copies the contents of one folder into another, then tweeked it to work for me.
--------------------------------------------------------------------------------------
@Echo Off
Set _Source=C:\Users\XXXX\Pictures
Set _FindDir=Originals
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
PushD "%_Source%"
For /F "Tokens=* Delims=" %%A In ('Dir /AD /B') Do (
If Exist "%_Source%\%%A\%_FindDir%" (
Move "%%A\%_FindDir%\*.*" "%_Source%\%%A"
For /F "Tokens=* Delims=" %%I In ('Dir /AD /B
"%_Source%\%%A\%_FindDir%"') Do Move "%_Source%\%%A\%_FindDir%\%%I"
"%_Source%\%%A\"
RD /S /Q "%_Source%\%%A\%_FindDir%"
) Else (
Echo There is no %_FindDir% folder in %_Source%\%%A\
))
PopD
--------------------------------------------------------------------------------------
You have to set the source directory (Set _Source) & the name of the directory where the masters are saved (Set _FindDir). The batch will iterate through all of the folders (albums) in the source directory and copy the originals over the edited files. To use the routine you need to open Notepad, copy/paste, and save as .bat. Just double click the .bat file and it will execute.
I had used Picasa since version 1, and they went through a couple of different naming schemes for the sub-folder containing your masters, so you will have to run the script for each of these sub-folder names ("Originals", "picasaoriginals", etc.). I made a copy of my Picasa backup & ran it on the copy just to be safe.
This took me a while to figure out, so I figured I would post it and it may help someone else.