Moving files from my Canon 20D
February 1, 2010
There are a couple of ways to move photos taken on my Canon 20D to my computer out of the box; none of which I like. I can install the software that came with the camera, but it is clunky at best. I can plug the memory card into a reader and move the files manually, but it’s time consuming to select files from multiple folders.
Instead, with a little time invested, I came up with a tool to copy the files over. I call it the Canon Copier.
The tool is simple. When it starts, it scans for any removable drives on your computer. It selects the first one. When you click Go, it finds all CR2 files within the memory card and copies them into the destination directory, which by default is set to <user folder>\Pictures on Windows 7. Done!
Speaking of Windows 7, I find the progress bar on the taskbar a nice touch. wyDay provides an open source library to easily implement a progress bar that can be incorporated into any .NET program. The new progress bar inherits everything from the original progress bar, so its usage is similar; the only difference is that the taskbar will light up with a progress when copying, automatically.
The only application setting this program has is the destination folder to move files to. I do not actually move them to the Pictures folder; I use a temporary folder instead. The tool uses isolated storage to remember where to move the files when it starts up.
By using isolated storage, I can reduce the number of files the tool needs to run. It’s also handy because the settings will persist regardless of where I place the program files. In addition, each Windows user on the computer can set their destination folders separately, although I don’t imagine that this occuring frequently.
To finish off the tool, I capped it with a cool camera icon from iConocubic.
- Download the tool (167 KB)
- Get the tool’s source code (218KB)
- Windows 7 taskbar progress bar library
- Program icon from iConcubic [http://www.iconcubic.com/] (also on deviantART)
- More about isolated storage in .NET