[gelöst] Grafische Oberfläche für das unix Programm "touch"

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
shakky4711
Beiträge: 215
Registriert: 09.09.2009 13:33:17

[gelöst] Grafische Oberfläche für das unix Programm "touch"

Beitrag von shakky4711 » 29.09.2012 10:56:28

Hallo,

bei der Suche nach Dateien orientiere ich mich oftmals auch am Dateidatum. Bei manchen Kopier/Verschiebe Aktionen kommt es leider vor, dass das Dateidatum vorloren geht. Auf der Shell kann man es mit "touch" wieder korrigieren, bequemer wäre allerdings eine kleine GUI Lösung.

Vielleicht kennt da jemand von Euch etwas.

Vielen Dank
Shakky
Zuletzt geändert von shakky4711 am 02.10.2012 08:07:09, insgesamt 1-mal geändert.

Liffi
Beiträge: 2345
Registriert: 02.10.2004 01:33:05

Re: Grafische Oberfläche für das unix Programm "touch"

Beitrag von Liffi » 29.09.2012 13:41:32

shakky4711 hat geschrieben: bei der Suche nach Dateien orientiere ich mich oftmals auch am Dateidatum. Bei manchen Kopier/Verschiebe Aktionen kommt es leider vor, dass das Dateidatum vorloren geht. Auf der Shell kann man es mit "touch" wieder korrigieren, bequemer wäre allerdings eine kleine GUI Lösung.
Per GUI bequemer?!

Nunja. Wenn es keinen direkten Button gibt, reicht vermutlich zweimaliges Umbenennen der Datei. Zweimal, damit der Ursprungsname wieder verwendet wird.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Grafische Oberfläche für das unix Programm "touch"

Beitrag von rendegast » 29.09.2012 14:57:11

whiptail | dialog ?
xdialog (nicht in debian), oder irgendein (g)tk-Interfacebuilder, glade?

Mal in den Dateioptionen der Dateimanager stöbern,
zBsp. farmanager unter windows hat sowas.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Grafische Oberfläche für das unix Programm "touch"

Beitrag von Cae » 29.09.2012 22:26:36

Den Sinn verstehe ich zwar nicht, aber

Code: Alles auswählen

% totouch=$(zenity --title="Select file to touch..." --file-selection) && touch "$totouch" || :
macht ein GTK-select-file-Fenster auf und toucht bei erfolgreicher Auswahl. Anstatt : kann man nochmal zenity mit einer "failed: $?"-Meldung anhängen. Falls die select-file-Box unerwünscht ist, verwende --entry.

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

yeti

Re: Grafische Oberfläche für das unix Programm "touch"

Beitrag von yeti » 29.09.2012 22:36:10

shakky4711 hat geschrieben:Bei manchen Kopier/Verschiebe Aktionen kommt es leider vor, dass das Dateidatum vorloren geht. Auf der Shell kann man es mit "touch" wieder korrigieren, bequemer wäre allerdings eine kleine GUI Lösung.
Wäre es nicht besser herauszufinden wie man das Darum erhaltend kopiert?
...oder was hab ich da nicht verstanden?

uname
Beiträge: 12469
Registriert: 03.06.2008 09:33:02

Re: Grafische Oberfläche für das unix Programm "touch"

Beitrag von uname » 30.09.2012 09:11:38

Wäre es nicht besser herauszufinden wie man das Darum erhaltend kopiert?
"rsync" wäre dein Freund.

shakky4711
Beiträge: 215
Registriert: 09.09.2009 13:33:17

Re: Grafische Oberfläche für das unix Programm "touch"

Beitrag von shakky4711 » 30.09.2012 13:01:36

Hallo,

danke für die Antworten. Vielleicht habe ich es zu allgemein ausgedrückt, dieser Effekt dass das ursprüngliche Datum verloren geht passiert ganz schnell wenn man versehentlich einen Haken bei gFTP vergessen hat, oder man in der Datei eine Änderung gemacht hat. Auch Vorgänge wie z.B. das massenweise transcodieren zwischen Dateiformaten (doc zu abw mittes Abiword, jpg zu pdf mit ImageMagick) verpassen der neu generierten Datei das aktuelle Datum. Oder aber der Klassiker bei mir persönlich, ich scanne zu Archivierungszwecken meine alten Unterlagen ein um das Papierdokument zu schreddern, dann hat der "2002-05-24_kaufvertrag" das Datum der Dateierstellung.

Auf Arbeit habe ich unter den dort installierten Windows ein kleines Programm http://www.nirsoft.net/utils/filedatech.html dass nach dem Starten einen Kalender bringt, man wählt ein Datum/Uhrzeit, fügt eine oder mehrere Dateien hinzu und bestätigt mit "OK", bei 20 Dateien die keine zusammenhängende Logik im Dateinamen haben kommt man damit sehr schnell zum Ergebnis.

Gruß
Shakky

Benutzeravatar
r900
Beiträge: 1053
Registriert: 09.10.2011 20:06:11
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stockholm

Re: Grafische Oberfläche für das unix Programm "touch"

Beitrag von r900 » 30.09.2012 13:27:19

Cae hat geschrieben:Den Sinn verstehe ich zwar nicht, aber

Code: Alles auswählen

% totouch=$(zenity --title="Select file to touch..." --file-selection) && touch "$totouch" || :
macht ein GTK-select-file-Fenster auf und toucht bei erfolgreicher Auswahl. Anstatt : kann man nochmal zenity mit einer "failed: $?"-Meldung anhängen. Falls die select-file-Box unerwünscht ist, verwende --entry.
Gruß Cae
Und dann noch zur Auswahl des Datums etwas wie

Code: Alles auswählen

date=$(zenity --calendar --date-format=%y%m%d)
[ -f "$totouch" -a -n "$date" ] && touch -d $date "$totouch"
Bei Auswahl von mehreren Dateien wird das ganze etwas komplizierter.

Benutzeravatar
r900
Beiträge: 1053
Registriert: 09.10.2011 20:06:11
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stockholm

Re: Grafische Oberfläche für das unix Programm "touch"

Beitrag von r900 » 30.09.2012 14:11:16

Zum Beispiel so:

Code: Alles auswählen

#!/bin/bash
files=$(zenity --file-selection --multiple --title 'Dateien auswählen')'|' || exit $?
date=$(zenity --calendar --date-format=%Y%m%d) || exit $?
while read -r -d '|' file; do
  [ -w "$file" ] && touch -d $date "$file"
done <<< "$files"
Das Skript benutzt einige Funktionen aus bash die es in sh so nicht gibt (die read Option "-d" und here string "<<<"). Also es muss in bash laufen und natürlich muss das Paket Debianzenity installiert sein.

Oder ein Skript dass man aus dem Dateimanager heraus aufruft. In Thunar kann man "benutzerdefinierte Aktionen" erstellen. Also Dateien im Dateimanager auswählen, Rechtsklick->benutzerdefinierte Aktion ausführen. So eine Option haben andere Dateimanager bestimmt auch.

Code: Alles auswählen

#!/bin/sh
date=$(zenity --calendar --date-format=%Y%m%d) || exit $?
while [ -n "$1" ]; do
  [ -w "$1" ] && touch -d $date "$1"
  shift
done

shakky4711
Beiträge: 215
Registriert: 09.09.2009 13:33:17

Re: Grafische Oberfläche für das unix Programm "touch"

Beitrag von shakky4711 » 02.10.2012 08:06:15

Perfekt, danke an alle für die tolle Unterstützung :-)

Gruß
Shakky

Antworten