Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

FileGetTime Problem

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe!
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ChrDark



Anmeldedatum: 01.07.2008
Beiträge: 4

BeitragVerfasst am: Di Jul 01, 2008 7:15 pm    Titel: FileGetTime Problem Antworten mit Zitat

Hallo zusammen,

ich arbeite grade an einem Kompleren Script was Bild-Dateien Sortieren soll. Das ganze soll Chronologisch angelegt werden, sprich ich bin auf FileGetTime angewiesen. Leider spielt es total Verrückt in der schleife und Liefert mir keine korrekten daten, zumindest nicht mit der entscheidenen C option. Mit M Funktioniert es hingegen wunderbar. Habe ich was grundlegend falsch gemacht im code oder ist ein es Bug ?

Anbei mal der Code:

Code:

;---------;------------------------------------------------------
; Variablen Liste die in diesem Script Verwended
; %FolderToSort% - Ordner wo die Bilder sind die sotiert werden sollen
; %FolderToSave% - Ordner wo die Bilder hin sollen - sortiert
;------------------------------------------------------


;***********************************************************
; Optischer Kram - Usereingaben
;***********************************************************

;------------------------------------------------------
; Hier fordern wir den User auf den Ordner zu wählen der die zu Sortierenden Bilder beinhaltet!
;------------------------------------------------------
FileSelectFolder, FolderToSort, , 0, !ACHTUNG!: Hier bitte den Ordner mit den zu sortierenden Bildern auswählen!
if FolderToSort =
    MsgBox, You didn't select a folder.


;------------------------------------------------------
; Und jetzt der Ordner wo das Meisterwerk Sortiert reinkommen wird!
;------------------------------------------------------
FileSelectFolder, FolderToSave, , 3, !ACHTUNG!: Hier bitte den Ordner angeben wo die Bilder Gespeichert werden sollen!
if FolderToSave =
    MsgBox, You didn't select a folder.



; Example #4: Retrieve file names sorted by modification date:
; Wir nehmen uns ein Example und Pimpen es!
; Wir brauchen eine Liste aller Dateien die sich in den Ordnern befinden
; Für's erste nehmen wir alles Dateitypen, normal wären jetzt nur *.jpg und *.cr2 für uns relevant
;-------- Liste mit alles Dateien erstellen -----------------------------
FileListJPG =
Loop, %FolderToSort%\*.jpg, 0, 1
    FileListJPG = %FileListJPG%%A_LoopFileFullPath%`t%A_LoopFileName%`n



;-------- Liste Sortieren -----------------------------------------------
Sort, FileList  ; Sort by date.


; Das wird hier unser Arbeitstier - sprich hier kommen alle weiten Kommandos rein!
Loop, parse, FileListJPG, `n
{
    if A_LoopField =  ; Ignore the blank item at the end of the list.
        continue
        FileItem = ;
   StringSplit, FileItem, A_LoopField, %A_Tab%  ;   
   

   LastMod = "";
   Jahr = "";
   Monat = "";
   Tag = "";     

   ; %FileItem0% - Hier haben wir unsere Index Nummer
   ; %FileItem1% - Den Kompl. Pfad ink. der Datei selbst
   ; %FileItem2%  - Nur der Dateiname
   ; %Jahr% - WElches Jahr
   ; %Monat% - Welchen Monat
   ; %Tag% - Welcher Tag
   ; %DirCheck% - Jahr-ordner vorhanden
   ; %DirMonthCheck% - Monats-Ordner vorhanden
   ; %DirDayCheck% - Tages-Ordner vorhanden

   
   FileCreateTime = ;
   FileGetTime, NARF, %FileItem1%, C
   if ErrorLevel ;
      MsgBox, Ups keine Zeit konnte gefunden werden!

   ;MsgBox, %FileItem1% : %NARF%

   ; Wir müssen und jetzt auf dem Datei Datum was gescheites bauen:
   LastMod = %NARF%
   StringLeft, Jahr, LastMod, 4
   StringLeft, Monat, LastMod, 6
   StringRight Monat, Monat, 2
   StringLeft, Tag, LastMod, 8
   StringRight, Tag, Tag, 2

   DirCheck = %FolderToSave%\%Jahr%

   
   ; Ist der Jahres Ordner vorhanden? Wenn nicht neu erstellen und weiter Prüfen!
   IfNotExist, %DirCheck%
   {
       FileCreateDir, %DirCheck%      
   }
   
   DirMonthCheck = %DirCheck%\%Monat%
      
   ; Ist der Monat-Ordner vorhanden? Wenn nicht erstellen und weiter!
   IfNotExist, %DirMonthCheck%
   {   
      FileCreateDir, %DirMonthCheck%         
   }
         
   DirDayCheck = %DirMonthCheck%\%Tag%
         
   ; So Tages-Ordner vorhanden? Wenn nicht erstellen!
   IfNotExist, %DirDayCheck%
   {
      FileCreateDir, %DirDayCheck%                     
   }
   

      ;So sind wir bis hier gekommen sind alle vorraussetzungen gegben damit wir die Datei nun kopieren können!
      ;FileCopy, %FileItem2%, %DirDayCheck%, 1      
   

   FileCreateTime = ;
   ;MsgBox, 4,, Feld nummer: %A_Index% Datei Pfad: %FileItem1% Datei erstellt am: %FileCreateTime% Und noch irgendwas: %FileItem2% Continue? Erstellungs datum: Jahr: %Jahr% Monat: %Monat% Tag: %Tag%
        ;IfMsgBox, No
        ;break
}



Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
fredchf



Anmeldedatum: 18.09.2006
Beiträge: 676
Wohnort: Deutschland

BeitragVerfasst am: Di Jul 01, 2008 8:04 pm    Titel: Antworten mit Zitat

hallo!
wenn es sich um bilder einer digitalkamera handelt,könnte dir das hier vielleicht helfen. EXIF-RenamerPlus Wink

ansonsten:
in deinem script gibt es einige unklarheiten,mir ist auch nicht so wirklich klar was der finale zweck sein soll.ordner aus dateidatum erstellen?
die variable "FileList",die du sortieren möchtest,existiert z.b. nicht.
_________________
Mit freundlichen Grüßen
fredchf
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChrDark



Anmeldedatum: 01.07.2008
Beiträge: 4

BeitragVerfasst am: Mi Jul 02, 2008 7:24 am    Titel: Antworten mit Zitat

Stimmt schon mit den Unklarheiten, liegt aber auch daran das es grad in der Entwicklung ist. EXIF-Renamer sieht interessant aus, ich hätte das mit jhead gemacht, der vorteil wäre das ich Bilder auch drehen kann. Aber evtl. könnte man den EXIF-Rename anpassen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
fredchf



Anmeldedatum: 18.09.2006
Beiträge: 676
Wohnort: Deutschland

BeitragVerfasst am: Mi Jul 02, 2008 9:23 am    Titel: Antworten mit Zitat

hallo!
ChrDark hat Folgendes geschrieben:
der vorteil wäre das ich Bilder auch drehen kann.

ich denke nicht,das jhead dazu in der lage ist! Wink es werden sicher nur die "EXIF-Tags" verändert,in denen steht,welche lage die kamera beim fotografieren hatte.
sollte deine kamera diese infos speichern,macht das ändern dieser keinen sinn,oder?
verlustfreies drehen Idea
_________________
Mit freundlichen Grüßen
fredchf
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BoBo²
Gast





BeitragVerfasst am: Mi Jul 02, 2008 10:22 am    Titel: Antworten mit Zitat

Laut PC-Welt 07/08 S.155 bietet das Plug-In 'JPG_Transform' für IrfanView genau dies ...
Nach oben
fredchf



Anmeldedatum: 18.09.2006
Beiträge: 676
Wohnort: Deutschland

BeitragVerfasst am: Mi Jul 02, 2008 10:36 am    Titel: Antworten mit Zitat

damit jeder mitreden kann Wink
artikel
_________________
Mit freundlichen Grüßen
fredchf
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DerRaphael



Anmeldedatum: 09.01.2008
Beiträge: 883
Wohnort: Zuhause

BeitragVerfasst am: Mi Jul 02, 2008 1:16 pm    Titel: Antworten mit Zitat

jhead hat Folgendes geschrieben:
Things jhead can modify in an exif jpeg file

* Up-right images according to rotation tag using jpegtran
* Set or relative adjust internal exif timestamps
* Fix date / time offsets in large batches of images
* Re-name or date stamp files according to exif timestamp
* Transfer exif headers between images
* Replace thumbnails inside Exif headers
* Edit jpeg comments (but not the Exif comments)
* Delete exif or comment sections from jpeg images
* Create new minimal exif header containing date and thumbnail
ferner ...
jhead hat Folgendes geschrieben:
Things jhead can extract from an Exif jpeg file

* Time and date picture was taken
* Camera make and model
* Integral low-res Exif thumbnail
* Shutter speed
* Camera F-stop number
* Flash used (yes/no)
* Distance camera was focused at
* Focal length and calculate 35 mm equivalent focal length
* Image resolution
* GPS info, if stored in image
* IPTC header
* XMP data


jhead kann nur die orientation daten im exif header ändern. um ein bild effektiv zu drehen, verweist der Autor auf andere utilities. (bsp jpgtrans)

aus:
http://www.sentex.net/~mwandel/jhead/usage.html
da gibt es auch einen link zu der windows binary von jpgtrans (die soll sogar verlustfreies beschneiden eines jpg bilds können)

grüße
derRaphael
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe! Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de