Voor dit soort dingen gebruik ik altijd PHP, wat je redelijk eenvoudig lokaal kunt draaien en enorm krachtig is. Je kunt redelijk eenvoudig de EXIF-headers uitlezen en corrigeren voor de 2de camera, en de bestanden hernoemen. Je hebt alleen de PHP-binary nodig zodat je deze lokaal kunt uitvoeren in een DOS-prompt (dus geen Apache nodig).
Heb dit onlangs nog gedaan, en heb die code even aangepast zodat deze voor jouw situatie zou moeten werken.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| <?php
// Bronmap van de foto's van camera 1
$bron1 = "C:\\camera1\\";
// Bronmap van de foto'2 van camera 2
$bron2 = "C:\\camera2\\";
// Doelmap van foto's van beide cameras
$doel = "C:\\vakantiefotos\\";
// Tijdscorrectie. Aantal seconden dat bij EXIF-datum opgeteld moet worden
$timecorrection1 = 0;
$timecorrection2 = 13222351;
if ($dir = opendir($bron1)) {
while (($file = readdir($dir)) !== false) {
if(is_file($bron1 . $file)) {
echo "$file...\n";
$exif = exif_read_data ($bron1 . $file);
$datum = $exif['FileDateTime'] + $timecorrection1;
$newFile = date("Ymd-His", $datum);
while(file_exists($doel . $newFile)) {
$datum++;
$newFile = date("Ymd-His", $datum);
}
copy($bron1 . $file, $doel . $newFile . ".jpg");
echo "Copied as $newFile\n";
}
}
closedir($dir);
}
if ($dir = opendir($bron2)) {
while (($file = readdir($dir)) !== false) {
if(is_file($bron2 . $file)) {
echo "$file...\n";
$exif = exif_read_data ($bron2 . $file);
$datum = $exif['FileDateTime'] + $timecorrection2;
$newFile = date("Ymd-His", $datum);
while(file_exists($doel . $newFile)) {
$datum++;
$newFile = date("Ymd-His", $datum);
}
copy($bron2 . $file, $doel . $newFile . ".jpg");
echo "Copied as $newFile\n";
}
}
closedir($dir);
}
?> |
Code is niet ideaal, maar dat was ook niet belangrijk. Was even een quick-fix voor een soortgelijk probleem dat ik had
[
Voor 3% gewijzigd door
frickY op 08-03-2007 11:13
]