Hallo,
Frage an alle Scripter:
Das Script, das Bilderendungen von JPG nach jpg umwandelt, läuft bei mir sehr gut als JScript:
Zum Einlesen der Bilder von meiner Casio mit FixFoto verwende ich folgendes VBScript:
Schafft es jemand beide Scripte ablauffähig in ein Script zusammenzuführen, damit schon beim Einlesen, Drehen der Bilder, Versehen mit Exif-Informationen etc. auch gleich die Dateiendung von JPG auf jpg geändert werden?
Wäre mir eine große Hilfe.
Gruß
Stefan
Frage an alle Scripter:
Das Script, das Bilderendungen von JPG nach jpg umwandelt, läuft bei mir sehr gut als JScript:
Code:
//FFSubmenu=Umbenennen
//FFName=Extension Lowercase
var fso = new ActiveXObject("Scripting.FileSystemObject");
var path,nn,on,i,l=FF_GetImageCount();
for(i=0; i<l; i++)
{
FF_SetProgress(i,l-1);
on = FF_GetImageName(i);
path = SplitPath(on);
nn = path.dir + "\\" + path.file + path.ext.toLowerCase();
fso.MoveFile(on,nn);
}
// liefert Verzeichnis mit abschließendem Backslash,
// Dateinamen und Erweiterung mit einleitendem Punkt
function SplitPath(path)
{
var result = new Object();
result.dir = fso.GetParentFolderName(path) + "\\";
result.file = fso.GetBaseName(path);
result.ext = "." + fso.GetExtensionName(path);
return result;
}
Code:
'Dieses Skript wird auf jedes direkt von der Kamera aus kopierte / verschobene Bild ausgeführt
'Funktionen:
' - als Fotograf wird der Name eingetragen
' - ein Copyrightvermerk wird aus dem Bilddatum (Jahr) und dem Namen zusammengesetzt
' - falls von der Kamera unterstützt, wird das Bild Verlustfrei gedreht
Dim Datei, Dateiname, Extension, Pfad, Datum, Hersteller, v1, v2, Make
Dim Verzeichnis, Jahr, Monat, Tag, Orientation, Name
Datei = FF_GetImageName(0)
SplitPath Datei, , Dateiname, Extension
if FF_LoadExif(Datei) then 'nur wenn auch Exif- Daten vorhanden sind weitermachen
Name = "STEFAN GRÖTSCH"
Datum = FF_GetExifTag("DateTime")
if Datum = "" then Datum = FF_GetExifTag("DateTimeOriginal")
if Datum = "" then Datum = FF_GetExifTag("DateTimeDigitized")
if Datum = "" then Datum = Year(Now) 'wenn nichts anderes vorhanden ist, das aktuelle Jahr verwenden
v1 = split(Datum, " ", -1)
v2 = split(v1(0), ":", -1)
Jahr = v2(0)
Monat = v2(1)
Tag = v2(2)
FF_SetExifTag "Artist", Name
FF_SetExifTag "Copyright1","© " + Jahr + " " + Name
FF_SetExifTag "Copyright2", " >>> [url]www.stefan-groetsch.de.vu[/url] <<<"
FF_SetExifTag "UserComment","Eingelesen und optimiert mit FixFoto, DAS Programm für Digitalfotos (siehe: [url]www.j-k-s.com[/url]); Read and optimized by FixFoto, THE software for digital images (see: [url]www.j-k-s.com[/url])"
FF_SaveExif Datei
'Das Bild Verlustfrei Drehen um 90 oder 270 Grad (falls von der Kamera unterstützt)
Orientation = FF_GetExifTag("Orientation")
if Orientation <> "" then
'für die Kameras Casio QV4000 + QV5700
if Orientation = "8" then 'Kamera nach links gekippt -> Drehung von 270 Grad
FF_RotateFile Datei, 270
elseif Orientation = "6" then 'Kamera nach rechts gekippt -> Drehung von 90 Grad
FF_RotateFile Datei, 90
end if
end if
end if
'*********************************************************
' liefert Verzeichnis mit abschliessendem Backslash,
' Dateinamen und Erweiterung mit einleitendem Punkt
'*********************************************************
sub SplitPath(path, byref dirc, byref file, byref ext)
Set fso = CreateObject("Scripting.FileSystemObject")
dirc = fso.GetParentFolderName(path) & "\"
file = fso.GetBaseName(path)
ext = "." & fso.GetExtensionName(path)
set fso = nothing
End Sub
Wäre mir eine große Hilfe.
Gruß
Stefan