Is there a one-click memory card copy utility?
July 2, 2005 1:47 PM Subscribe
Can anyone point me to a utility that will copy all the images from my camreas memory card (compact flash) to a directory in the My Pictures folder with the creation date. So all the pictures taken on 7/1 end up in a folder named 7-1-2005. I want it to be ea one-click deal.
I'm currently using the zoom browser that was included with my powershot. I'm almost positive it could be done with a batch script, but my scripting knowledge is very little. If someone can point me to a scripting tutorial that might be helpful with this, I'll check that out as well. Thanks.
I'm currently using the zoom browser that was included with my powershot. I'm almost positive it could be done with a batch script, but my scripting knowledge is very little. If someone can point me to a scripting tutorial that might be helpful with this, I'll check that out as well. Thanks.
Downloader Pro will handle this and much much more. It's effortless and flexible.
I typically organize my photos by a date folder with a job description after it, and you can set DP to prompt you each time for the job code.
You could do this with a script, sure, but at $30, I think DP is totally worth it.
posted by Caviar at 2:08 PM on July 2, 2005
I typically organize my photos by a date folder with a job description after it, and you can set DP to prompt you each time for the job code.
You could do this with a script, sure, but at $30, I think DP is totally worth it.
posted by Caviar at 2:08 PM on July 2, 2005
My Canon Zoom Browser software does just that, it gives me the options of naming the folders by date taken just before it downloads the pictures.
posted by rhapsodie at 3:23 PM on July 2, 2005
posted by rhapsodie at 3:23 PM on July 2, 2005
If you have a card reader (I got one on clearance at the drugstore for less than $10), you can treat the CF card just like any other drive. Copy the jpegs into whatever folder on your HD that you want; name them; treat them like any other file.
Zoombrowser is good for me only because it's easy to rotate the images in it, but you can use Irfanview or any other graphic program, too.
posted by Kirth Gerson at 4:20 PM on July 2, 2005
Zoombrowser is good for me only because it's easy to rotate the images in it, but you can use Irfanview or any other graphic program, too.
posted by Kirth Gerson at 4:20 PM on July 2, 2005
This should be an option for the CameraWindow software that came with your camera. Be sure and get the latest updates from Canon's web siteāthe previous version crashed a lot for me.
As another question, does anyone know how to keep CameraWindow from launching ZoomBrowser when it's done? I guess I could rename the ZoomBrowser executable...
posted by grouse at 5:28 PM on July 2, 2005
As another question, does anyone know how to keep CameraWindow from launching ZoomBrowser when it's done? I guess I could rename the ZoomBrowser executable...
posted by grouse at 5:28 PM on July 2, 2005
I do a very similar thing already with a windows script I wrote, except that I name my folders yyyymmdd so that they will sort chronologically. Let me know if you want to try it out...
posted by SNACKeR at 6:22 PM on July 2, 2005
posted by SNACKeR at 6:22 PM on July 2, 2005
After re-reading your post, I think you would be interested...here it is. Save the text below as PicCopy.js and adjust sourcePath and TargetPath according to your needs.
//Note: double-up the backslashes and no trailing backslashes.
var sourcePath = "F:\\"; //this is the drive letter your memory card shows up as
var targetPath = "C:\\Documents and Settings\\Administrator\\My Documents\\My Pictures"; //this is where you want the date folders to be created
var fso = new ActiveXObject("Scripting.FileSystemObject");
if (!fso.FolderExists(targetPath))
{
WScript.Echo("Target path not found.");
}
else
{
if (fso.FolderExists(sourcePath))
{
traverse(fso, fso.GetFolder(sourcePath), targetPath);
WScript.Echo("Done");
}
else if (fso.FileExists(sourcePath))
{
doDateCopy(fso, fso.GetFile(sourcePath), targetPath);
WScript.Echo("Done");
}
else
{
WScript.Echo("Source path not found.");
}
}
function traverse(fso, fld, targetPath)
{
var eFil, eFld;
eFil = new Enumerator(fld.Files);
for (; !eFil.atEnd(); eFil.moveNext())
{
doDateCopy(fso, eFil.item(), targetPath);
}
eFld = new Enumerator(fld.SubFolders);
for (; !eFld.atEnd(); eFld.moveNext())
{
traverse(fso, eFld.item(), targetPath);
}
}
function doDateCopy(fso, fil, targetPath)
{
var dt = new Date(fil.DateCreated);
var y = String(dt.getFullYear());
var m = String(dt.getMonth() + 1);
var d = String(dt.getDate());
if (m.length == 1) m = "0" + m;
if (d.length == 1) d = "0" + d;
var targetFolder = y + m + d;
var newTargetPath = targetPath + "\\" + targetFolder;
if (!fso.FolderExists(newTargetPath))
{
fso.CreateFolder(newTargetPath);
}
fil.Copy(newTargetPath + "\\" + fil.Name);
}
posted by SNACKeR at 6:38 PM on July 2, 2005
//Note: double-up the backslashes and no trailing backslashes.
var sourcePath = "F:\\"; //this is the drive letter your memory card shows up as
var targetPath = "C:\\Documents and Settings\\Administrator\\My Documents\\My Pictures"; //this is where you want the date folders to be created
var fso = new ActiveXObject("Scripting.FileSystemObject");
if (!fso.FolderExists(targetPath))
{
WScript.Echo("Target path not found.");
}
else
{
if (fso.FolderExists(sourcePath))
{
traverse(fso, fso.GetFolder(sourcePath), targetPath);
WScript.Echo("Done");
}
else if (fso.FileExists(sourcePath))
{
doDateCopy(fso, fso.GetFile(sourcePath), targetPath);
WScript.Echo("Done");
}
else
{
WScript.Echo("Source path not found.");
}
}
function traverse(fso, fld, targetPath)
{
var eFil, eFld;
eFil = new Enumerator(fld.Files);
for (; !eFil.atEnd(); eFil.moveNext())
{
doDateCopy(fso, eFil.item(), targetPath);
}
eFld = new Enumerator(fld.SubFolders);
for (; !eFld.atEnd(); eFld.moveNext())
{
traverse(fso, eFld.item(), targetPath);
}
}
function doDateCopy(fso, fil, targetPath)
{
var dt = new Date(fil.DateCreated);
var y = String(dt.getFullYear());
var m = String(dt.getMonth() + 1);
var d = String(dt.getDate());
if (m.length == 1) m = "0" + m;
if (d.length == 1) d = "0" + d;
var targetFolder = y + m + d;
var newTargetPath = targetPath + "\\" + targetFolder;
if (!fso.FolderExists(newTargetPath))
{
fso.CreateFolder(newTargetPath);
}
fil.Copy(newTargetPath + "\\" + fil.Name);
}
posted by SNACKeR at 6:38 PM on July 2, 2005
XP already does this for me. After plugging in my powershot, an icon shows up in Control Panel>Scanners and Cameras. Right-clicking on it allows me to configure the events that happen automagically when the camera is plugged in. It allows for all the things you're asking for, here. And after it's set up, it's a no-click deal.
posted by catachresoid at 4:13 AM on July 3, 2005
posted by catachresoid at 4:13 AM on July 3, 2005
I agree with rhapsodie...your Zoom browser should already do this, though maybe not in the date format you specify...
posted by jacobsee at 8:21 AM on July 3, 2005
posted by jacobsee at 8:21 AM on July 3, 2005
As another question, does anyone know how to keep CameraWindow from launching ZoomBrowser when it's done? I guess I could rename the ZoomBrowser executable...
Follow-up: renaming it to zoombrowser-disabled.exe did the trick. No error messages either.
posted by grouse at 6:40 AM on July 15, 2005
Follow-up: renaming it to zoombrowser-disabled.exe did the trick. No error messages either.
posted by grouse at 6:40 AM on July 15, 2005
This thread is closed to new comments.
posted by socratic at 2:04 PM on July 2, 2005