Das Ordnerdatum manuel aendern

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Das Ordnerdatum manuel aendern

Beitrag von HemSA »

Hallole an Alle,
ich habe mir einen neuen Laptop zugelegt und bin am Übertragen von den Dateien vom alten PC.

Nun habe ich ein Problem. Ich habe vom altem PC die ganzen Fotos mit den jeweiligen Ordner übertragen. Doch das Ordnerdatum ist das Datum des Übertragens. So habe ich nun alle Ordner mit dem gleichem Datum, was natürlich mit der Foto-SW auch alles im gleichen, sprich einem Monat angezeigt wird. Dies will ich natürlich nicht.

Gibt es eine elegante Möglichkeit, ohne jedesmal das Datum vom Laptop zu aendern, den Files ein neues Erstellungsdatum zu verpassen (es sind ca. 400 Dateien, also machbar, aber natürlich nicht sehr angenehm :-( )?

Das was ich im Internet bis jetzt gefunden habe klappte nicht, und ich will den neuen Laptop nicht schon am Anfang mit unnötiger nicht funktionierender Software vollnuddeln.

Hat jemand ein Tip von einer funktionierenden SW oder einem anderem Weg, wie man das machen kann, ohne wie gesagt jedesmal das Datum zu aendern?

Danke schon mal im Vorraus.
Michael

Edit: Habe Windows 7
Zuletzt geändert von HemSA am 29.03.2012 20:16, insgesamt 2-mal geändert.
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Das Dateidatum manuel aendern

Beitrag von RSBasic »

Soweit ich weiß kannst du beim TotalCommander das Verzeichnis (in dem deine Fotos vorhanden sind) kopieren und einstellen, dass sich die Datumsangaben nicht ändern.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Re: Das Dateidatum manuel aendern

Beitrag von HemSA »

Hallole RSBasic,
das werde ich dann morgen mal probieren.

Danke schon mal für den Tip.
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Das Dateidatum manuel aendern

Beitrag von Nino »

Mit dem Total Commander ist das Beibehalten der Zeit im Prinzip kein Problem.
Nur wenn Dateien bzw. Verzeichnisse von einem NTFS- auf ein FAT-Laufwerk kopiert werden, ändern sich die Zeitstempel mit einer ungeraden Sekundenzahl, weil FAT immer auf gerade Sekunden rundet. Da kann selbst der TC nichts gegen machen. :-) Das sollte in diesem Anwendungsfall allerdings keine Rolle spielen.

Grüße, Nino
BSP
Beiträge: 201
Registriert: 01.02.2009 14:04

Re: Das Dateidatum manuel aendern

Beitrag von BSP »

Hallo HemSA.
Schon klar;
Eigentlich möchtest Du, das dass alte Datum erhalten bleibt.

Aber ich gehe hier mal frech auf Deine Frage und Deine Überschrift ein:
Gibt es eine elegante Möglichkeit, ohne jedesmal das Datum vom Laptop zu aendern, den Files ein neues Erstellungsdatum zu verpassen
Ja, gibt es: (Zumindest bei PB 4.60)

Code: Alles auswählen

SetFileDate("c:\test.txt",#PB_Date_Created,ParseDate("%dd.%mm.%yyyy:%hh.%ii","26.03.2012:23.15"))
Gruß: Bernd
PB 5.31 (x86) & (x64) Win10
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Re: Das Dateidatum manuel aendern

Beitrag von HemSA »

Hmm, Hallo Bernd,
irgendwie klappt das nicht bei mir. Das Datum bleibt das Gleiche, es aendert sich nicht.

Deine Version waere die Beste, weil das Fotoprogram der Datei das Erstellungsdatum gleichzeitig als Ordnername vergibt ( ohne Sekunden eben ).

Ich würde dann den Dateinamen auslesen und dies dann auch als Erstellungsdatum + eine fixe Zeitangabe verwenden.

Verwende: PureBasic 4.60 (Windows - x64)
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
BSP
Beiträge: 201
Registriert: 01.02.2009 14:04

Re: Das Dateidatum manuel aendern

Beitrag von BSP »

Hallo HemSA.
Ich experimentiere da gerade ein wenig herum.
Mit den Änderungen bei Dateien funktioniert das schon ganz gut.
Mit den Ordnern habe ich aber noch probleme.

Hier mal zum Testen.
Aber erst anschauen, DANN das Kommentarzeichen vor:
SetFileDate(...
zum "scharfmachen" entfernen.
So ist das Programm erst mal ungefährlich, zum ausprobieren.
Gruß: Bernd

Code: Alles auswählen

#HWnd = 1

Enumeration
#Datgadg
#ChBGadg
#DatButt
#LosButt
#EndButt
#TxtGadg1
#TxtGadg2
#combogadg
EndEnumeration
Global datum$ = FormatDate("%dd.%mm.%yyyy",Date())
Global flag = #PB_Date_Created

Procedure AendereDatum(Pfad$)
  
  ok = ExamineDirectory(#PB_Any, pfad$, "*.*") 
  If ok 
    While NextDirectoryEntry(ok)
      zeit$=datum$+":"+FormatDate("%hh.%ii",Date())
      If DirectoryEntryType(ok) = #PB_DirectoryEntry_File
        file$=pfad$+DirectoryEntryName(ok)
        Debug file$
        ;SetFileDate(file$,flag,ParseDate("%dd.%mm.%yyyy:%hh.%ii",zeit$))
      Else
        If Not (DirectoryEntryName(ok)="." Or DirectoryEntryName(ok)="..")
          ;SetFileDate(pfad$,flag,0);ParseDate("%dd.%mm.%yyyy:%hh.%ii",zeit$))
          file$=pfad$+DirectoryEntryName(ok)+"\"
          ;Debug file$
          If GetGadgetState(#ChBGadg)
            AendereDatum(file$)
          EndIf
        EndIf
      EndIf
    Wend
    FinishDirectory(ok)
  EndIf

EndProcedure

; --- Window
OpenWindow(#HWnd , 0,0,300,200,"Dateidatum einstellen",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)

TextGadget(#TxtGadg1,4,4,292,22,"Datum einstellen !")
DateGadget(#Datgadg,4,30,80,22,"%dd.%mm.%yyyy",Date())
ComboBoxGadget(#combogadg,100,30,120,22)
AddGadgetItem(#combogadg,0,"Erstellungsdatum")
AddGadgetItem(#combogadg,1,"Letzter Zugriff")
AddGadgetItem(#combogadg,2,"Letzte Änderung")
SetGadgetState(#combogadg,0)
ButtonGadget(#DatButt,4,60,80,30,"Ordner")
CheckBoxGadget(#ChBGadg,100,62,200,22,"Unterordner einbeziehen")
TextGadget(#TxtGadg2,4,96,292,22,"",#PB_Text_Border|#PB_Text_Right)
ButtonGadget(#LosButt,4,140,60,30,"Los")
ButtonGadget(#EndButt,216,140,80,30,"Ende")

pfad$=GetCurrentDirectory()

; --- Hauptschleife
Repeat
  Select WaitWindowEvent()
  Case #PB_Event_CloseWindow
    ende=1
    
  Case #PB_Event_Gadget
    Select EventGadget()
    Case #EndButt
      ende=1
      
    Case #DatButt
      pfad$=PathRequester("Ordner wählen",pfad$)
      SetGadgetText(#TxtGadg2,pfad$)
    
    Case #LosButt
      AendereDatum(pfad$)
      
    Case #Datgadg
      datum$=GetGadgetText(#Datgadg)
      ;Debug datum$
      
    Case #combogadg
      Select GetGadgetState(#combogadg)
      Case 0 : flag = #PB_Date_Created
      Case 1 : flag = #PB_Date_Accessed
      Case 2 : flag = #PB_Date_Modified
      EndSelect
      ;Debug flag
      
    EndSelect
  EndSelect
Until ende
End
PB 5.31 (x86) & (x64) Win10
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Das Dateidatum manuel aendern

Beitrag von ts-soft »

HemSA hat geschrieben:Das Datum bleibt das Gleiche, es aendert sich nicht.
Doch, das Erstellungsdatum ändert sich, aber dies ist nicht das Datum, welches Dein
Dateimanager anzeigt. Der zeigt Last_Modified an :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Re: Das Dateidatum manuel aendern

Beitrag von HemSA »

Hallo ts-soft,
nein so ist es bei mir nicht. Ich kann mir das Aenderungsdatum sowie das Erstellungsdatum ( muss eben nachtraeglich hinzugefügt werden ) in Explorer anzeigen lassen.
Sind beide das Gleiche.

Michael
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Re: Das Dateidatum manuel aendern

Beitrag von HemSA »

Hallo Bernd,
nein das hat auch nicht hingehauen, werde das dann morgen mal genauer ansehen ( hatte zum Test eine Testdatei verwendet ).

Tschüssle und Danke schon mal.
Michael
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
Antworten