JPG画像を取り込む
という訳で,リムーバブルディスクからJPG画像を取り込むJScriptスクリプト*1.ローカル側でのファイル名は yyyy_mm_dd_hh_mm_ss.jpg
とする(こうすりゃ一意になるだろう.デジカメが2台あるとまずい,かも?).
var fso = WScript.CreateObject("Scripting.FileSystemObject"); function getPics_d(d) { for (var e = new Enumerator(d.RootFolder.SubFolders); !e.atEnd(); e.moveNext()) { getPics_f(e.item()); } } function add0(d) { if (d < 10) { return "0" + new String(d); } else { return new String(d); } } function getPics_f(f) { for (var e = new Enumerator(f.Files); !e.atEnd(); e.moveNext()) { var j = e.item(), p = j.Path; if (p.match(new RegExp(".jpg$", "i")) == null) { continue; } var lm = new Date(j.DateLastModified); var fn = lm.getFullYear() + "_" + add0(lm.getMonth()+1) + "_" + add0(lm.getDate()) + "_" + add0(lm.getHours()) + "_" + add0(lm.getMinutes()) + "_" + add0(lm.getSeconds()) + ".jpg"; if (! fso.FileExists(fn)) { WScript.StdOut.WriteLine(p + " -> " + fn); fso.CopyFile(p, fn); } } for (var e = new Enumerator(f.SubFolders); !e.atEnd(); e.moveNext()) { getPics_f(e.item()); } } for (var e = new Enumerator(fso.Drives); !e.atEnd(); e.moveNext()) { var d = e.item(); if (d.DriveType == 1) { // Removable getPics_d(d); } } WScript.StdOut.WriteLine("Bye!");
こいつを getPics.js
などとして保存し,右クリックして「コマンドプロンプトで開く」とすれば,そのディレクトリにJPGファイルががーっとコピーされる.WSH (Windows Scripting Host) はもちろん入れておいてね.