LabVIEWForum.de
Zeitstempel von Dateien editieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Zeitstempel von Dateien editieren (/Thread-Zeitstempel-von-Dateien-editieren)



Zeitstempel von Dateien editieren - BlueNote - 14.10.2010 09:39

Hallo zusammen,

ich möchte gern verschiedenste Daten in einer Datei ablegen und diese Datei so abspeichern, dass mir der Windows-Explorer als letztes Speicherdatum ein von mir vorher festgelegtes anzeigt. Also das, was man im TotalCommander über "Dateiattribute ändern" einstellen kann, möchte ich mit LabView 8.0 machen.

Hat da einer eine Idee, ob und wenn ja, wie das geht?

Danke!


Zeitstempel von Dateien editieren - GerdW - 14.10.2010 09:41

Hallo blueNote,

einfach mal das MSDN danach durchforsten - was du suchst, ist schließlich OS/Filesystem-Angelegenheit und nicht LabVIEW-spezifisch...


Zeitstempel von Dateien editieren - oenk - 14.10.2010 10:43

Ich habe es mal mit der "Touch.exe" (findest du sicher mit der Suchmaschine deiner Wahl) als CommandLine Argument realisiert. Vielleicht gibt es auch einfachere/schönere Ansätze, das zu bewerkstelligen. Bei mir hat es aber so funktioniert....


Zeitstempel von Dateien editieren - BlueNote - 14.10.2010 11:09

Danke erstmal für die Antworten.

Ich spezifiziere mal mein Problem etwas - dann wird vielleicht klarer, was ich eigentlich vorhabe.

Ich habe ein Verzeichniss mit verschiedensten Unterverzeichnissen, in denen Dateien unterschiedlichster Typen liegen. Das gesamte Verzeichnis hat eine Größe von ca. 1 GB und die Dateien sind sicherheitsrelevant, so dass ich nicht möchte, dass ein anderer sie einfach so öffnen kann.
Jetzt kann ich z.B. im TotalCommander ein Verzeichniss verschlüsseln, wobei es aber auch gleichzeitig gepackt wird, was sehr lange dauert und auch unnötig ist, da der Speicherplatz nicht mein Problem ist.

Nun habe ich mir einLV-Programm geschrieben, das die Verzeichnis-/Dateistruktur ausliest und in ein Pfad-Array inkl. Dateigrößenangaben schreibt. Dieses Pfadarray wird durcheinandergewürfelt und verschlüsselt als Header in einer Datei ablegt. Dann werden die Dateien (gemäß Dateistruktur) in zufälliger Reihenfolge ausgelesen und Byteblockweise unverschlüsselt an den Header der neuen Datei angehängt. So entsteht eine einzelne Datei, die genauso groß ist wie das gewählte Verzeichnis (+ verschlüsselte Headerdaten). Mit dieser Datei kann keiner auf Anhieb etwas anfangen, weil unklar ist, an welcher Position eine neue Datei anfängt.

Wenn ich nun die Rückaktion ausführe, separiere ich mir den Header, entschlüssele ihn, erstelle die Verzeichnisse auf dem Ziel-PC und erstelle die entsprechenden Dateien durch Neuschreiben der jeweiligen Datei. Wenn ich damit fertig bin, hat natürlich jede Datei den Zeitstempel des Separiervorgangs und der Originalzeitstempel ist weg. Nun möchte ich den Originalzeitstempel zu jeder Datei beim Zusammenfügen mit auslesen und im Header der Gesamtdatei ablegen, was ja relativ unkompliziert ist. Beim Separieren der Gesamtdatei soll dann jeder Datei ihr Original-Zeitstempel wieder aufgedrückt werden. Deshalb kann ich das nicht mit externen Tools machen.


Gibt´s jetzt noch einen, der mir helfen kann?

Vielen Dank schonmal für Eure zerebralen Aktivitäten


Zeitstempel von Dateien editieren - oenk - 14.10.2010 11:15

Wie gesagt: "touch.exe". Ich benutze es für eine ähnliche Aufgabe. Ich speicher eine Datei auf einem Server ab. Damit die aber den Zeitstempel des Messsystems beibehaltet (Messsystem und Server sind nicht synchronisiert) kopiere ich sie auf den Server und ändere danach dann den Zeitstempel auf den vom Messsystem...Dh touch.exe ist auf dem Hostrechner und muss nicht auf dem Zielrechner vorhanden sein....


Zeitstempel von Dateien editieren - SeBa - 14.10.2010 11:21

.NET

[attachment=29952]


Was nicht so richtig zu funktionieren scheint (oder eben gerade doch so wie es sein soll) ist LastAccessTime... denn beim Ändern der Zeit wird auf die Datei zugegriffen und das merkt Windows anscheinend und passt den LastAccessTime entsprechend an, nachdem du das Attribut geändert hattest.


Falls du das nicht weißt... FileInfo findest du übrigens in der mscorelib.


Gruß SeBa


Zeitstempel von Dateien editieren - BlueNote - 14.10.2010 12:18

Danke Seba,

aber das mit der "mscorelib" habe ich noch nicht verstanden bzw. gefunden. Kannst Du mir nochmal genauer schildern, wie ich an die Eigenschaftsknoten komme?

Danke


Zeitstempel von Dateien editieren - SeBa - 14.10.2010 12:37

[attachment=29953][attachment=29954][attachment=29955][attachment=29956]


Gruß SeBa


Zeitstempel von Dateien editieren - BlueNote - 14.10.2010 13:58

Vielen Dank, Seba. Das habe ich gesucht.