You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@openoffice.apache.org by Dave <da...@gmail.com> on 2022/12/21 18:45:05 UTC

Hilfe zu Herstellungsdatum einer Datei

Liebe Leute,

ich habe soeben was Schönes entdeckt: unter Datei -> Eigenschaften sieht
man das ursprüngliche Erstellungsdatum der Dateil.

Nun meine Frage: gibt es die Möglichkeit, diese Information auf die
Dateieigenschaften, wie sie vom Browser (in meinem Fall Linux) gezeigt
werden. zu übertragen?

Beispiel: Ich habe eine Datei schon 2007 erstellt, das zeigt mir OpenOffce
auch im Menü Eigenschaften.

Aber aufgelistet im Browserr sehe ich 2018. Das war das Datum, als ich alle
meine Dateien von einer alten Festplatte auf die neue kopiert habe.

Für mich sind die ursprünglichen Herstellungszeiten aber wichtig.

Kann ich die falschen neuen Eigenschaften mit den richtigen alten
Eigenschaften überschreiben -- und zwar im Batch-Modus?

Das wäre eine große Hilfe.

Best
Dave

Re: Hilfe zu Herstellungsdatum einer Datei

Posted by Dave <da...@gmail.com>.
Danke Matthias,
touch allein wird nicht viel bringen. wie soll ich touch das ursprüngliche
herstellungsdatum der datei mitteilen? es müsste so was wie ein
extrahierungstool geben, um es herauszuholen und dann an touch
weiterzugeben. bei nur einer datei kann ich das manuell machen, aber bei
tausenden?

On Wed 21. Dec 2022 at 23:13, Matthias Müller Posteo.de <
matth_mueller_hbg@posteo.de> wrote:

> Am Mittwoch, 21. Dezember 2022, 19:45:05 CET schrieb Dave:
> > Liebe Leute,
> >
> > ich habe soeben was Schönes entdeckt: unter Datei -> Eigenschaften sieht
> > man das ursprüngliche Erstellungsdatum der Dateil.
> >
> > Nun meine Frage: gibt es die Möglichkeit, diese Information auf die
> > Dateieigenschaften, wie sie vom Browser (in meinem Fall Linux) gezeigt
> > werden. zu übertragen?
> >
> > Beispiel: Ich habe eine Datei schon 2007 erstellt, das zeigt mir
> OpenOffce
> > auch im Menü Eigenschaften.
> >
> > Aber aufgelistet im Browserr sehe ich 2018. Das war das Datum, als ich
> alle
> > meine Dateien von einer alten Festplatte auf die neue kopiert habe.
> >
> > Für mich sind die ursprünglichen Herstellungszeiten aber wichtig.
> >
> > Kann ich die falschen neuen Eigenschaften mit den richtigen alten
> > Eigenschaften überschreiben -- und zwar im Batch-Modus?
> >
> > Das wäre eine große Hilfe.
> Schau dir mal das Kommando "touch" an. Es gibt drei Zeitstempel, die
> interessant sind:
> atime = access time, Zeitpunkt des lezten Zugriffs
> mtime = modify time, Zeitpunkt der letzten Änderung an der Datei
> ctime = creation time, Zeitpunkt an dem die Datei erstellt wurde
>
> Mit touch lassen sich die manipulieren: man 1 touch hilft
>
> --
> Mit freundlichen Grüßen
> Matthias Müller
>
> Diese Mail ist mit OpenPGP signiert!
> Zum überprüfen der Signatur, der Integrität und Authentizität
> meiner Mails kann man OpenPGP (https://www.openpgp.org/) installieren.
> Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!

Re: Hilfe zu Herstellungsdatum einer Datei

Posted by "Matthias Müller Posteo.de" <ma...@posteo.de>.
Am Mittwoch, 21. Dezember 2022, 19:45:05 CET schrieb Dave:
> Liebe Leute,
> 
> ich habe soeben was Schönes entdeckt: unter Datei -> Eigenschaften sieht
> man das ursprüngliche Erstellungsdatum der Dateil.
> 
> Nun meine Frage: gibt es die Möglichkeit, diese Information auf die
> Dateieigenschaften, wie sie vom Browser (in meinem Fall Linux) gezeigt
> werden. zu übertragen?
> 
> Beispiel: Ich habe eine Datei schon 2007 erstellt, das zeigt mir OpenOffce
> auch im Menü Eigenschaften.
> 
> Aber aufgelistet im Browserr sehe ich 2018. Das war das Datum, als ich alle
> meine Dateien von einer alten Festplatte auf die neue kopiert habe.
> 
> Für mich sind die ursprünglichen Herstellungszeiten aber wichtig.
> 
> Kann ich die falschen neuen Eigenschaften mit den richtigen alten
> Eigenschaften überschreiben -- und zwar im Batch-Modus?
> 
> Das wäre eine große Hilfe.
Schau dir mal das Kommando "touch" an. Es gibt drei Zeitstempel, die 
interessant sind:
atime = access time, Zeitpunkt des lezten Zugriffs
mtime = modify time, Zeitpunkt der letzten Änderung an der Datei
ctime = creation time, Zeitpunkt an dem die Datei erstellt wurde

Mit touch lassen sich die manipulieren: man 1 touch hilft

-- 
Mit freundlichen Grüßen
Matthias Müller

Diese Mail ist mit OpenPGP signiert!
Zum überprüfen der Signatur, der Integrität und Authentizität
meiner Mails kann man OpenPGP (https://www.openpgp.org/) installieren.
Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!

Re: Hilfe zu Herstellungsdatum einer Datei

Posted by "Dr. Michael Stehmann" <an...@rechtsanwalt-stehmann.de>.
Hallo,

mit (Star-)Basic kann man die Eigenschaftsdaten auslesen.

Dort gibt es meiner Erinnerung nach auch eine Funktion um Shellkommandos 
auszuführen.

Zur Datumsänderung s.

https://adminforge.de/linux-allgemein/touch-datum-einer-datei-unter-linux-aendern

Du kannst ja das Ergebnis des Codens veröffentlichen, denn es dürfte für 
viele interessant sein, das "richtige" Erstellungsdatum beispielsweise 
auch mit den Betriebssystembordmitteln sehen zu können.

Gruß
Michael

Re: Hilfe zu Herstellungsdatum einer Datei

Posted by Günter Feierabend <fe...@telia.com.INVALID>.
Hallo Dave,

> Am 2022-12-21 um 19:45 schrieb Dave <da...@gmail.com>:
> 
> Liebe Leute,
> 
> ich habe soeben was Schönes entdeckt: unter Datei -> Eigenschaften sieht
> man das ursprüngliche Erstellungsdatum der Dateil.
> 
> Nun meine Frage: gibt es die Möglichkeit, diese Information auf die
> Dateieigenschaften, wie sie vom Browser (in meinem Fall Linux) gezeigt
> werden. zu übertragen?
> 
> Beispiel: Ich habe eine Datei schon 2007 erstellt, das zeigt mir OpenOffce
> auch im Menü Eigenschaften.
> 
> Aber aufgelistet im Browserr sehe ich 2018. Das war das Datum, als ich alle
> meine Dateien von einer alten Festplatte auf die neue kopiert habe.

Der Browser wird vermutlich auf die Daten, die das Betriebssystem kennt, zugreifen. Das wären dann beispielsweise
- Erstellungs-Datum (erste Speicherung auf dem Medium), 
- Änderungsdatum, 
- zuletzt geöffnet, 
- hinzugefügt am.

> Für mich sind die ursprünglichen Herstellungszeiten aber wichtig.
> 
> Kann ich die falschen neuen Eigenschaften mit den richtigen alten
> Eigenschaften überschreiben -- und zwar im Batch-Modus?

Wenn meine Annahme von oben stimmt, müsstest Du dies über das Betriebssystem ändern können. Da Linux ein bisschen ähnlich wie MacOS (was ich nutze) funktioniert, müsste dies im Terminal möglich sein. (Nennt man dies "Batch-Modus"?) Befehle dazu kenne ich aber leider nicht. Wir haben doch bestimmt einen Linux-Crack unter uns?

Grüße
Günter



---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Re: Hilfe zu Herstellungsdatum einer Datei

Posted by "Matthias Müller Posteo.de" <ma...@posteo.de>.
Hallo,

Am Freitag, 23. Dezember 2022, 08:59:16 CET schrieb Semmel:
Snip
> Es gibt (mindestens) ein Tool, das die Metadaten auch von (u.a.)
> Office-Dateien auslesen kann (siehe hier
> <https://www.infonautics-software.ch/dateilisten/metadaten/>).
> 
> Ich weiß jedoch nicht, ob es das auch für Linux gibt oder es deine
> anderweitigen Erwartungen erfüllen kann. Probiere es einfach mal aus.
Das ist ausschießlich für Windows

-- 
Mit freundlichen Grüßen
Matthias Müller

Diese Mail ist mit OpenPGP signiert!
Zum überprüfen der Signatur, der Integrität und Authentizität
meiner Mails kann man OpenPGP (https://www.openpgp.org/) installieren.
Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!

Re: Hilfe zu Herstellungsdatum einer Datei

Posted by Dave <da...@gmail.com>.
... so jetzt für ein ganzes Verzeichnis:

#!/usr/bin/perl

my $indir = "/home/dave/openoffice_test/obtain_meta";
# read in all files from the directory
foreach my $filename ( glob  "$indir/*.odt" ) {
    print "$filename\n";
system ("unzip -p $filename meta.xml > meta.txt");
system (q@sed 's/[^A-Za-z0-9_.;]//g' meta.txt > meta2.txt@);
open(INPUT, '<', 'meta2.txt');
open(OUTPUT, '>', 'date.txt');
$date = <INPUT> =~ m/dcdate\d{8}/g;
print OUTPUT <INPUT> =~ m/dcdate\d{8}/g;
close INPUT;
close OUTPUT;
system (q@sed 's/[a-z]//g' date.txt > date2.txt@);
open(INPUT, '<', 'date2.txt');
$newdate = <INPUT>;
system ("touch -d $newdate $filename");
}

On Sun, 25 Dec 2022 at 22:02, Dave <da...@gmail.com> wrote:

> Hallo Bernd,
>
> mit 'perl' und 'sed' es immerhin vorerst für eine datei hingekriegt. Muss
> noch das erweitern, damit das programm alle .odt dateien in einem
> verzeichnis abarbeitet:
>
> #!/usr/bin/perl
> system ("unzip -p harman_hisbo_15.odt meta.xml > meta.txt");
> system (q@sed 's/[^A-Za-z0-9_.;]//g' meta.txt > meta2.txt@);
> open(INPUT, '<', 'meta2.txt');
> open(OUTPUT, '>', 'date.txt');
> $date = <INPUT> =~ m/dcdate\d{8}/g;
> print OUTPUT <INPUT> =~ m/dcdate\d{8}/g;
> close INPUT;
> close OUTPUT;
> system (q@sed 's/[a-z]//g' date.txt > date2.txt@);
> open(INPUT, '<', 'date2.txt');
> $newdate = <INPUT>;
> system ("touch -d $newdate harman_hisbo_15.odt");
>
> Ein paar Erläuterungen:
> -- unzip braucht nicht die datei richtig zu entpacken, er holt sich die
> eine datei "meta.xml" direkt aus der .odt und packt diese in "meta.txt"
> -- das seltsame "q@ ..... @" dient dazu, alles, was sich zwischen den
> beidne @ befindet auszuführen, ohne zu interpretieren, also stolpert das
> programm hier nicht über irgendwelche sonderzeichen
> -- das "^" als verneinung bedeutet, entferne alles außer normale
> buchstaben und ziffern
> -- ich musste sed deswegen zweimal aufrufen, das erste mal, um die kette
> "dcdate01234568" rauszuholen, und das zweite mal um die gleiche kette ohne
> das "dcdate" zu erhalten, denn openoffice hat zwei datums, ein datum für
> die erstmalige speicherung der datei, und ein zweites datum für die letzte
> speicherung. diese ist natürlich das interessantere
> -- touch funktioniert problemlos mit der variable "$newdate"
>
> Sobald ich es mit einem ganzen Verzeichnis geschafft habe, melde ich mich
> wieder.
>
> Beste Grüße
> Dave
>
> On Sat, 24 Dec 2022 at 14:14, Dave <da...@gmail.com> wrote:
>
>> Danke dir Bernd!
>>
>> Sieht sehr sehr gut aus. Ich bin allerdings etwas langsam und werde etwas
>> zeit brauchen, um das zu verstehen. ich glaube du könntest etwas werbung
>> für dein programm machen, denn es gibt da draußen sicherlich weitere
>> menschen, die davon profitieren würden.
>>
>> Frohe Weihnachten!
>>
>> On Fri 23. Dec 2022 at 21:37, Bernd Obermayr <li...@bobermayr.de> wrote:
>>
>>> Am 23.12.22 um 21:10 schrieb Dave:
>>> > Das ist echt super, danke euch Bernd und Matthias. Jetzt habe ich was
>>> zu
>>> > knabbern über Weihnachten :)
>>> >
>>> Ja, Danke .)
>>>
>>> Habs nochmal etwas überarbeitet und kommeniert
>>>
>>> -----8<---------
>>> #!/bin/bash
>>> help() {
>>>
>>>     echo "$0
>>>
>>>     Script um das Datum einer OpenDocument-Datei (*.odt|*.ods, etc) auf
>>> das
>>>     in den Meta-Daten (Eigenschaften) der Datei gespeicherte Datum
>>>     festzulegen.
>>>     OpenDocument-Datei sind gezipte Archive. In der Datei meta.xml aus
>>> dem
>>>     Archiv sind die meta-Daten enhalten, so auch das Erstell- und
>>> Speicherdatum.
>>>
>>>     Syntax: $0 <Dateiname> [Modus]
>>>         Modus:
>>>          -g setze filedate auf Änderungsdatum Standard
>>>          -e Setze filedate auf Erstelldatum.
>>>     $1
>>>
>>>     23.12.2022 bernd obermayr
>>>     "
>>>     exit 0
>>> }
>>> if [ X$1 = "X" -o  "X$1" = "X-h" ]; then
>>>  help
>>> fi
>>> if [ X$1 = "X" -o ! -f "$1" ]; then
>>>  help "       Fehler: Die Datei $1 existiert nicht"
>>> fi
>>> ## temporäres Verzeichnis erstellen
>>> tmp1=$(mktemp -d /tmp/$(basename ${0})_XXXXXX)
>>>
>>> ## aktuellen Pfad merken
>>> orgPath=`pwd`
>>> file="${orgPath}/$1"
>>> ## ins temporäre Verzeichnis wechseln
>>> pushd $tmp1
>>> ## Die Datei hier entpacken
>>> unzip "$file"
>>>
>>> ## standard, setze filedate auf Änderungsdatum
>>> if [ "X$2" = "X-g" -o "X$2" = "X" ]; then
>>>     cdate=$(xmlstarlet sel -t -v "//dc:date" meta.xml)
>>>     echo "$file change-date=$cdate"
>>>     touch -d $cdate "$file"
>>> fi
>>>
>>> ## setze filedate auf Erstelldatum
>>> if [ "X$2" = "X-e" ] ;then
>>>     cdate=$(xmlstarlet sel -t -v "//meta:creation-date" meta.xml)
>>>     echo "$file creation-date=$cdate"
>>>     touch -d $cdate "$file"
>>> fi
>>>
>>> ## zurück ins Startverzeichnis
>>> popd
>>> ## das tmp Verzeichnis wird nicht mehr gebraucht, also löschen
>>> rm -rf $tmp1
>>> -----8<---------
>>>
>>> Ich hoffe, das hilft. Sonst frag einfach :)
>>>
>>> --
>>> Gruss
>>>   Bernd
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
>>> For additional commands, e-mail: users-de-help@openoffice.apache.org
>>>
>>>

Re: Hilfe zu Herstellungsdatum einer Datei

Posted by Dave <da...@gmail.com>.
Hallo Bernd,

mit 'perl' und 'sed' es immerhin vorerst für eine datei hingekriegt. Muss
noch das erweitern, damit das programm alle .odt dateien in einem
verzeichnis abarbeitet:

#!/usr/bin/perl
system ("unzip -p harman_hisbo_15.odt meta.xml > meta.txt");
system (q@sed 's/[^A-Za-z0-9_.;]//g' meta.txt > meta2.txt@);
open(INPUT, '<', 'meta2.txt');
open(OUTPUT, '>', 'date.txt');
$date = <INPUT> =~ m/dcdate\d{8}/g;
print OUTPUT <INPUT> =~ m/dcdate\d{8}/g;
close INPUT;
close OUTPUT;
system (q@sed 's/[a-z]//g' date.txt > date2.txt@);
open(INPUT, '<', 'date2.txt');
$newdate = <INPUT>;
system ("touch -d $newdate harman_hisbo_15.odt");

Ein paar Erläuterungen:
-- unzip braucht nicht die datei richtig zu entpacken, er holt sich die
eine datei "meta.xml" direkt aus der .odt und packt diese in "meta.txt"
-- das seltsame "q@ ..... @" dient dazu, alles, was sich zwischen den
beidne @ befindet auszuführen, ohne zu interpretieren, also stolpert das
programm hier nicht über irgendwelche sonderzeichen
-- das "^" als verneinung bedeutet, entferne alles außer normale buchstaben
und ziffern
-- ich musste sed deswegen zweimal aufrufen, das erste mal, um die kette
"dcdate01234568" rauszuholen, und das zweite mal um die gleiche kette ohne
das "dcdate" zu erhalten, denn openoffice hat zwei datums, ein datum für
die erstmalige speicherung der datei, und ein zweites datum für die letzte
speicherung. diese ist natürlich das interessantere
-- touch funktioniert problemlos mit der variable "$newdate"

Sobald ich es mit einem ganzen Verzeichnis geschafft habe, melde ich mich
wieder.

Beste Grüße
Dave

On Sat, 24 Dec 2022 at 14:14, Dave <da...@gmail.com> wrote:

> Danke dir Bernd!
>
> Sieht sehr sehr gut aus. Ich bin allerdings etwas langsam und werde etwas
> zeit brauchen, um das zu verstehen. ich glaube du könntest etwas werbung
> für dein programm machen, denn es gibt da draußen sicherlich weitere
> menschen, die davon profitieren würden.
>
> Frohe Weihnachten!
>
> On Fri 23. Dec 2022 at 21:37, Bernd Obermayr <li...@bobermayr.de> wrote:
>
>> Am 23.12.22 um 21:10 schrieb Dave:
>> > Das ist echt super, danke euch Bernd und Matthias. Jetzt habe ich was zu
>> > knabbern über Weihnachten :)
>> >
>> Ja, Danke .)
>>
>> Habs nochmal etwas überarbeitet und kommeniert
>>
>> -----8<---------
>> #!/bin/bash
>> help() {
>>
>>     echo "$0
>>
>>     Script um das Datum einer OpenDocument-Datei (*.odt|*.ods, etc) auf
>> das
>>     in den Meta-Daten (Eigenschaften) der Datei gespeicherte Datum
>>     festzulegen.
>>     OpenDocument-Datei sind gezipte Archive. In der Datei meta.xml aus dem
>>     Archiv sind die meta-Daten enhalten, so auch das Erstell- und
>> Speicherdatum.
>>
>>     Syntax: $0 <Dateiname> [Modus]
>>         Modus:
>>          -g setze filedate auf Änderungsdatum Standard
>>          -e Setze filedate auf Erstelldatum.
>>     $1
>>
>>     23.12.2022 bernd obermayr
>>     "
>>     exit 0
>> }
>> if [ X$1 = "X" -o  "X$1" = "X-h" ]; then
>>  help
>> fi
>> if [ X$1 = "X" -o ! -f "$1" ]; then
>>  help "       Fehler: Die Datei $1 existiert nicht"
>> fi
>> ## temporäres Verzeichnis erstellen
>> tmp1=$(mktemp -d /tmp/$(basename ${0})_XXXXXX)
>>
>> ## aktuellen Pfad merken
>> orgPath=`pwd`
>> file="${orgPath}/$1"
>> ## ins temporäre Verzeichnis wechseln
>> pushd $tmp1
>> ## Die Datei hier entpacken
>> unzip "$file"
>>
>> ## standard, setze filedate auf Änderungsdatum
>> if [ "X$2" = "X-g" -o "X$2" = "X" ]; then
>>     cdate=$(xmlstarlet sel -t -v "//dc:date" meta.xml)
>>     echo "$file change-date=$cdate"
>>     touch -d $cdate "$file"
>> fi
>>
>> ## setze filedate auf Erstelldatum
>> if [ "X$2" = "X-e" ] ;then
>>     cdate=$(xmlstarlet sel -t -v "//meta:creation-date" meta.xml)
>>     echo "$file creation-date=$cdate"
>>     touch -d $cdate "$file"
>> fi
>>
>> ## zurück ins Startverzeichnis
>> popd
>> ## das tmp Verzeichnis wird nicht mehr gebraucht, also löschen
>> rm -rf $tmp1
>> -----8<---------
>>
>> Ich hoffe, das hilft. Sonst frag einfach :)
>>
>> --
>> Gruss
>>   Bernd
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
>> For additional commands, e-mail: users-de-help@openoffice.apache.org
>>
>>

Re: Hilfe zu Herstellungsdatum einer Datei

Posted by Dave <da...@gmail.com>.
Danke dir Bernd!

Sieht sehr sehr gut aus. Ich bin allerdings etwas langsam und werde etwas
zeit brauchen, um das zu verstehen. ich glaube du könntest etwas werbung
für dein programm machen, denn es gibt da draußen sicherlich weitere
menschen, die davon profitieren würden.

Frohe Weihnachten!

On Fri 23. Dec 2022 at 21:37, Bernd Obermayr <li...@bobermayr.de> wrote:

> Am 23.12.22 um 21:10 schrieb Dave:
> > Das ist echt super, danke euch Bernd und Matthias. Jetzt habe ich was zu
> > knabbern über Weihnachten :)
> >
> Ja, Danke .)
>
> Habs nochmal etwas überarbeitet und kommeniert
>
> -----8<---------
> #!/bin/bash
> help() {
>
>     echo "$0
>
>     Script um das Datum einer OpenDocument-Datei (*.odt|*.ods, etc) auf das
>     in den Meta-Daten (Eigenschaften) der Datei gespeicherte Datum
>     festzulegen.
>     OpenDocument-Datei sind gezipte Archive. In der Datei meta.xml aus dem
>     Archiv sind die meta-Daten enhalten, so auch das Erstell- und
> Speicherdatum.
>
>     Syntax: $0 <Dateiname> [Modus]
>         Modus:
>          -g setze filedate auf Änderungsdatum Standard
>          -e Setze filedate auf Erstelldatum.
>     $1
>
>     23.12.2022 bernd obermayr
>     "
>     exit 0
> }
> if [ X$1 = "X" -o  "X$1" = "X-h" ]; then
>  help
> fi
> if [ X$1 = "X" -o ! -f "$1" ]; then
>  help "       Fehler: Die Datei $1 existiert nicht"
> fi
> ## temporäres Verzeichnis erstellen
> tmp1=$(mktemp -d /tmp/$(basename ${0})_XXXXXX)
>
> ## aktuellen Pfad merken
> orgPath=`pwd`
> file="${orgPath}/$1"
> ## ins temporäre Verzeichnis wechseln
> pushd $tmp1
> ## Die Datei hier entpacken
> unzip "$file"
>
> ## standard, setze filedate auf Änderungsdatum
> if [ "X$2" = "X-g" -o "X$2" = "X" ]; then
>     cdate=$(xmlstarlet sel -t -v "//dc:date" meta.xml)
>     echo "$file change-date=$cdate"
>     touch -d $cdate "$file"
> fi
>
> ## setze filedate auf Erstelldatum
> if [ "X$2" = "X-e" ] ;then
>     cdate=$(xmlstarlet sel -t -v "//meta:creation-date" meta.xml)
>     echo "$file creation-date=$cdate"
>     touch -d $cdate "$file"
> fi
>
> ## zurück ins Startverzeichnis
> popd
> ## das tmp Verzeichnis wird nicht mehr gebraucht, also löschen
> rm -rf $tmp1
> -----8<---------
>
> Ich hoffe, das hilft. Sonst frag einfach :)
>
> --
> Gruss
>   Bernd
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
> For additional commands, e-mail: users-de-help@openoffice.apache.org
>
>

Re: Hilfe zu Herstellungsdatum einer Datei

Posted by Bernd Obermayr <li...@bobermayr.de>.
Am 23.12.22 um 21:10 schrieb Dave:
> Das ist echt super, danke euch Bernd und Matthias. Jetzt habe ich was zu
> knabbern über Weihnachten :)
> 
Ja, Danke .)

Habs nochmal etwas überarbeitet und kommeniert

-----8<---------
#!/bin/bash
help() {

    echo "$0

    Script um das Datum einer OpenDocument-Datei (*.odt|*.ods, etc) auf das
    in den Meta-Daten (Eigenschaften) der Datei gespeicherte Datum
    festzulegen.
    OpenDocument-Datei sind gezipte Archive. In der Datei meta.xml aus dem
    Archiv sind die meta-Daten enhalten, so auch das Erstell- und
Speicherdatum.

    Syntax: $0 <Dateiname> [Modus]
        Modus:
         -g setze filedate auf Änderungsdatum Standard
         -e Setze filedate auf Erstelldatum.
    $1

    23.12.2022 bernd obermayr
    "
    exit 0
}
if [ X$1 = "X" -o  "X$1" = "X-h" ]; then
 help
fi
if [ X$1 = "X" -o ! -f "$1" ]; then
 help "       Fehler: Die Datei $1 existiert nicht"
fi
## temporäres Verzeichnis erstellen
tmp1=$(mktemp -d /tmp/$(basename ${0})_XXXXXX)

## aktuellen Pfad merken
orgPath=`pwd`
file="${orgPath}/$1"
## ins temporäre Verzeichnis wechseln
pushd $tmp1
## Die Datei hier entpacken
unzip "$file"

## standard, setze filedate auf Änderungsdatum
if [ "X$2" = "X-g" -o "X$2" = "X" ]; then
    cdate=$(xmlstarlet sel -t -v "//dc:date" meta.xml)
    echo "$file change-date=$cdate"
    touch -d $cdate "$file"
fi

## setze filedate auf Erstelldatum
if [ "X$2" = "X-e" ] ;then
    cdate=$(xmlstarlet sel -t -v "//meta:creation-date" meta.xml)
    echo "$file creation-date=$cdate"
    touch -d $cdate "$file"
fi

## zurück ins Startverzeichnis
popd
## das tmp Verzeichnis wird nicht mehr gebraucht, also löschen
rm -rf $tmp1
-----8<---------

Ich hoffe, das hilft. Sonst frag einfach :)

-- 
Gruss
  Bernd


---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Re: Hilfe zu Herstellungsdatum einer Datei

Posted by Dave <da...@gmail.com>.
Das ist echt super, danke euch Bernd und Matthias. Jetzt habe ich was zu
knabbern über Weihnachten :)

On Fri 23. Dec 2022 at 17:59, Matthias Müller Posteo.de <
matth_mueller_hbg@posteo.de> wrote:

> Hallo,
>
> Am Freitag, 23. Dezember 2022, 13:08:53 CET schrieb Dave:
> Der Ansatz, den Bernd vorgeschlagen hat, war auch mein Hintergedaken, als
> ich
> "touch" ins Spiel gebracht habe. ODT sind eigentlich nix anderes als ZIP-
> Archive, die man mit Bordmitteln auspacken und ggf mit "grep" durchwühlen
> kann.
>
> Wenn du mit Perl beschlagen bist, sollte doch der Ansatz für dich keine
> unüberwindliche Hürde sein, zumal Bernd alles wesentliche schon durch
> dekliniert hat.
>
> Ich sag's immer wieder, die Shell ist ein Formel-1-Renner mit eingebautem
> Werkstattwagen. :-)
>
> --
> Mit freundlichen Grüßen
> Matthias Müller
>
> Diese Mail ist mit OpenPGP signiert!
> Zum überprüfen der Signatur, der Integrität und Authentizität
> meiner Mails kann man OpenPGP (https://www.openpgp.org/) installieren.
> Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!

Re: Hilfe zu Herstellungsdatum einer Datei

Posted by "Matthias Müller Posteo.de" <ma...@posteo.de>.
Hallo,

Am Freitag, 23. Dezember 2022, 13:08:53 CET schrieb Dave:
Der Ansatz, den Bernd vorgeschlagen hat, war auch mein Hintergedaken, als ich 
"touch" ins Spiel gebracht habe. ODT sind eigentlich nix anderes als ZIP-
Archive, die man mit Bordmitteln auspacken und ggf mit "grep" durchwühlen 
kann.

Wenn du mit Perl beschlagen bist, sollte doch der Ansatz für dich keine 
unüberwindliche Hürde sein, zumal Bernd alles wesentliche schon durch 
dekliniert hat.

Ich sag's immer wieder, die Shell ist ein Formel-1-Renner mit eingebautem 
Werkstattwagen. :-) 

-- 
Mit freundlichen Grüßen
Matthias Müller

Diese Mail ist mit OpenPGP signiert!
Zum überprüfen der Signatur, der Integrität und Authentizität
meiner Mails kann man OpenPGP (https://www.openpgp.org/) installieren.
Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!

Re: Hilfe zu Herstellungsdatum einer Datei

Posted by Bernd Obermayr <li...@bobermayr.de>.
Am 23.12.22 um 13:08 schrieb Dave:
> Moin Semmel, morgen Matthias,
> 
> vielen Dank für eure Hinweise. Tatsächlich gibt es dieses wirklich sehr
> nützliche Programm leider nur für Windows.

Für linux brauchts kein Program :)

------8<------
Als Beispiel

Shell Script 'getcreationdate'

#!/bin/bash
help() {

    echo "$0

    Script um das Datum einer OpenDocument-Datei (odt) auf das
    in den Meta-Daten (Eigenschaften) der Datei gespeicherte Datum
    festzulegen.
    Syntax:
	In dem Verzeichnis in dem sich die Datei befindet: $0 <Dateiname>

    $1

    (c) 23.12.2022 bernd obermayr
    "
    exit 0
}

if [ X$1 = "X" -o  "X$1" = "X-h" ]; then
 help
fi

if [ X$1 = "X" -o ! -f "$1" ]; then
 help "       Fehler: Die Datei $1 existiert nicht"
fi

tmp1=$(mktemp -d /tmp/$(basename ${0})_XXXXXX)
orgPath=`pwd`
file="${orgPath}/$1"
pushd $tmp1
unzip "$file"
cdate=$(xmlstarlet sel -t -v "//meta:creation-date" meta.xml)
echo "$file creation-date=$cdate"
touch -d $cdate "$file"
popd
rm -rf $tmp1


-- 
Gruss
  Bernd


---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Re: Hilfe zu Herstellungsdatum einer Datei

Posted by Dave <da...@gmail.com>.
Moin Semmel, morgen Matthias,

vielen Dank für eure Hinweise. Tatsächlich gibt es dieses wirklich sehr
nützliche Programm leider nur für Windows.

Ich habe jetzt den Entwicklern soeben geschrieben (auf französisch, es sind
meine schweizerischen Compatrioten) eine Anregung geschrieben, ob sie nicht
auch eine Version für MacOS und für Linux schreiben könnten. Ich bin
sicher, dass damit vielen Menschen gedient wäre.

Mit einer Liste der Dateinamen + Metadaten dazu müsste es möglich sein mit
dem Programm perl (da kenne ich mich ein kleines Bissel aus) und mit Hilfe
von "touch" ein Programm zu schreiben, das einen ganzen Verzeichnisbaum
durchsucht und das Erstellungsdatum des Systems mit dem ausgelesenen
Erstellungsdatum aus dem OpenOffice-Dokument überschreibt.

Bin gespannt auf die Antwort der Firma.

Beste Grüße
Dave

On Fri, 23 Dec 2022 at 08:59, Semmel <se...@gmx.ch> wrote:

>
> Moin Dave,
>
> Dave schrieb am 21.12.2022 um 19:45:
> > Liebe Leute,
> >
> > ich habe soeben was Schönes entdeckt: unter Datei -> Eigenschaften sieht
> > man das ursprüngliche Erstellungsdatum der Dateil.
> >
> > Nun meine Frage: gibt es die Möglichkeit, diese Information auf die
> > Dateieigenschaften, wie sie vom Browser (in meinem Fall Linux) gezeigt
> > werden. zu übertragen?
> >
> > Beispiel: Ich habe eine Datei schon 2007 erstellt, das zeigt mir
> OpenOffce
> > auch im Menü Eigenschaften.
> >
> > Aber aufgelistet im Browserr sehe ich 2018. Das war das Datum, als ich
> alle
> > meine Dateien von einer alten Festplatte auf die neue kopiert habe.
> >
> > Für mich sind die ursprünglichen Herstellungszeiten aber wichtig.
> Es gibt (mindestens) ein Tool, das die Metadaten auch von (u.a.)
> Office-Dateien auslesen kann (siehe hier
> <https://www.infonautics-software.ch/dateilisten/metadaten/>).
>
> Ich weiß jedoch nicht, ob es das auch für Linux gibt oder es deine
> anderweitigen Erwartungen erfüllen kann. Probiere es einfach mal aus.
>
> Liebe Grüße und allen Lesern ein gesgnetes Fest, Peter.
>
> --
> "Zu argumentieren, dass man sich nicht um das Recht auf
>   Privatsphäre schert, weil man nichts zu verbergen habe,
>   ist nichts anderes, als wenn man konstatiert, dass man
>   sich nicht um freie Meinungsäußerung schert, weil man
>   nichts zu sagen hat.“ (Edward Snowden)
>
>
>
>

Re: Hilfe zu Herstellungsdatum einer Datei

Posted by Semmel <se...@gmx.ch>.
Moin Dave,

Dave schrieb am 21.12.2022 um 19:45:
> Liebe Leute,
>
> ich habe soeben was Schönes entdeckt: unter Datei -> Eigenschaften sieht
> man das ursprüngliche Erstellungsdatum der Dateil.
>
> Nun meine Frage: gibt es die Möglichkeit, diese Information auf die
> Dateieigenschaften, wie sie vom Browser (in meinem Fall Linux) gezeigt
> werden. zu übertragen?
>
> Beispiel: Ich habe eine Datei schon 2007 erstellt, das zeigt mir OpenOffce
> auch im Menü Eigenschaften.
>
> Aber aufgelistet im Browserr sehe ich 2018. Das war das Datum, als ich alle
> meine Dateien von einer alten Festplatte auf die neue kopiert habe.
>
> Für mich sind die ursprünglichen Herstellungszeiten aber wichtig.
Es gibt (mindestens) ein Tool, das die Metadaten auch von (u.a.)
Office-Dateien auslesen kann (siehe hier
<https://www.infonautics-software.ch/dateilisten/metadaten/>).

Ich weiß jedoch nicht, ob es das auch für Linux gibt oder es deine
anderweitigen Erwartungen erfüllen kann. Probiere es einfach mal aus.

Liebe Grüße und allen Lesern ein gesgnetes Fest, Peter.

--
"Zu argumentieren, dass man sich nicht um das Recht auf
  Privatsphäre schert, weil man nichts zu verbergen habe,
  ist nichts anderes, als wenn man konstatiert, dass man
  sich nicht um freie Meinungsäußerung schert, weil man
  nichts zu sagen hat.“ (Edward Snowden)