Datei-Datum nach Konvertierung

Das Textverarbeitungsprogramm

Moderator: Moderatoren

Juerg
**
Beiträge: 33
Registriert: Mo, 24.04.2006 11:19

Datei-Datum nach Konvertierung

Beitrag von Juerg »

Nach der Konvertierung von ca. 10'000 Dateien steh ich nun vor dem Problem, dass alle neuen *.odt Dateien das Datum der Ausführung der Konvertierung haben. Kann ich mithilfe eines Scripts dieses Datum wieder auf das Ursprungsdatum der entsrechenden .doc Datei setzen? Wer hilft mir?

Juerg
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Datei-Datum nach Konvertierung

Beitrag von komma4 »

Hallo Juerg,

welches Betriebssystem nutzt Du?

Auch unter Windows gibt es touch... http://www.cygwin.com/
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Juerg
**
Beiträge: 33
Registriert: Mo, 24.04.2006 11:19

Re: Datei-Datum nach Konvertierung

Beitrag von Juerg »

komma4 hat geschrieben:Hallo Juerg,

welches Betriebssystem nutzt Du?

Auch unter Windows gibt es touch... http://www.cygwin.com/

Sorry - Ubuntu Linux 8.04.1 -
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Datei-Datum nach Konvertierung

Beitrag von komma4 »

man touch (Treffer auch bei Tante Google)

Erstelle ein listing der Dateien mit dem gewünschtem Datum und werfe es touch vor.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Juerg
**
Beiträge: 33
Registriert: Mo, 24.04.2006 11:19

Re: Datei-Datum nach Konvertierung

Beitrag von Juerg »

komma4 hat geschrieben:man touch (Treffer auch bei Tante Google)

Erstelle ein listing der Dateien mit dem gewünschtem Datum und werfe es touch vor.

Ok - so in der Art:

# first, find all .docs, and remove the extensions

find $1 -iname \*.doc -type f | sed 's/\.doc$//g' > /tmp/list_doc.txt

Nur finde ich den Parameter für das Datum und die Zeitausgabe nicht
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Datei-Datum nach Konvertierung

Beitrag von komma4 »

wie wäre es mit touch -r dokument1.doc dokument1.odt
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Datei-Datum nach Konvertierung

Beitrag von komma4 »

..etwas ausführlicher (habe gerade mal wieder ein paar Minuten):

Du brauchst eine Liste von Anweisungen, die etwa so aussehen:
touch -r /pfad/zur/quelle/dokument1.doc /pfad/zum/konvertierten/dokument1.odt

In einem ersten Schritt: im Quellverzeichnis eine Liste erstellen:
ls *.doc > referenzliste.csv

Diese in Calc einlesen, in einer Spalte davor die Pfadangaben zum Quellverzeichnis ergänzen, in einer weiteren Spalte Befehl und Option.
Damit hast Du:
SpalteA SpalteB SpalteC
touch -r /pfad/zur/quelle/ dokument1.doc

SpalteD
=Verketten( A1; " "; B1;C1; "/pfad/zum/konvertierten/"; Links(C1;Länge(C1)-3);"odt"

Die SpalteD dann mit copy&paste einer Konsole vorwerfen.

Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Juerg
**
Beiträge: 33
Registriert: Mo, 24.04.2006 11:19

Re: Datei-Datum nach Konvertierung

Beitrag von Juerg »

So Leute. Für alle die das auch mal brauchen können. Hier die fast ultimative Lösung:

Code: Alles auswählen

#!/bin/bash

find . -type f -name \*.doc -print | while read line; do
  name="${line%.doc}.odt"
  touch -r "$line" "$name"
done

find . -type f -name \*.xls -print | while read line; do
  name="${line%.xls}.ods"
  touch -r "$line" "$name"
done

find . -type f -name \*.ppt -print | while read line; do
  name="${line%.ppt}.odp"
  touch -r "$line" "$name"
done
Das Problem nun - die Originaldateien liegen inzwischen nur noch auf einer externen Platte (/media/Volume). Ich sollte also zu jeder .doc die entsprechende .odt Datei finden und diese dann mit neuem Datum belegen. Die meisten Verzeichnisse wurden inzwischen neu angeordnet. Stimmen also nicht mehr mit den originalen Orten überein.
Antworten