Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Ordner automatisch löschen

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
macjoe
•->
•->


Anmeldedatum: 07.05.2003
Beiträge: 14

BeitragVerfasst am: 07.05.2003 - 14:57    Titel: Ordner automatisch löschen Antworten mit Zitat

Hallo,

ich bin auf der Suche nach einem Script das nach 3 Tagen den Inhalt eines Ordner (andere Ordner) automatisch löscht.

Hat jemad so etwas schon fertig?

Für Hilfe bin ich serh dankbar!


Viele Grüße
Macjoe Rolling Eyes
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 07.05.2003 - 18:37    Titel: Antworten mit Zitat

Hallo Macjoe,

Ich habe mal eben ein entsprechendes Skript gebastelt. Achtung! Es ist nicht praxiserprobt.

Hier das Skript:

-- das jeweils letzte Löschungsdatum wird
--
in der folgenden Variable gespeichert
property zuletztGeloescht : ""

set Heute to (current date)

--
bei Erstanwendung noch leer
if zuletztGeloescht = "" then
set zuletztGeloescht to Heute
end if

set ZeitDifferenz to (Heute - zuletztGeloescht)
set TagesDifferenz to ¬
round (ZeitDifferenz / 86400) rounding as taught in school

if TagesDifferenz3 then

set ZielOrdner to "Macintosh HD:Desktop Folder:Bilder:" as alias
tell application "Finder"
--
nur Ordner werden aufgelistet
set FolderList to every folder of folder ZielOrdner
try -- nur wenn Ordner existieren
repeat with oneFolder in FolderList
--
und in den Papierkorb verfrachtet
move oneFolder to the trash
end repeat
end try
--
Inhalt des Papierkorbs wird geprüft
set TrashList to contents of trash
if TrashList is not {} then
--
falls etwas im Papierkorb ist:
--
Was soll damit geschehen?
set theDlog to (display dialog ¬
"
Es befinden sich Objekte im Papierkorb." & return & ¬
"
Soll der Papierkorb entleert werden?" buttons ¬
{"
Nein", "Inhalt ansehen", "Jetzt leeren"} ¬
default button 3 giving up after 20)
--
Nichts
if button returned of theDlog = "Nein" or gave up of theDlog then
return
else if button returned of theDlog = "Inhalt ansehen" then
activate
--
Papierkorb wird geöffnet
open trash
else
--
Papierkorb wird geleert
empty the trash
end if
end if
end tell

end if


Das Skript als Programm (Classic Applet) speichern (ohne Startdialog) und in die Startobjekte des Systemordners verfrachten. Natürlich musst du es nicht unbedingt in den Startobjekten haben. Du könntest auch den iDo Script Scheduler einsetzen, um das Skript regelmäßig ausführen zu lassen - oder du startest es eben immer wieder mal selbst.

Gruß
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
macjoe
•->
•->


Anmeldedatum: 07.05.2003
Beiträge: 14

BeitragVerfasst am: 15.05.2003 - 13:24    Titel: Antworten mit Zitat

Hallo Snow,

erst mal vielen Dank für die super schnelle Hilfe...
Ich habe aber noch Probleme mit den Script.

Noch mal zum Verständnis:
Ich möchte alle Ordner die sich in einem Verzeichnis befinden löschen die älter als x Tage sind.

Wenn ich es richtig sehen, dann geht die Datum-Abfrage jetzt auf den Hauptordner und nicht auf den jeweiligen "Inhalt" Ordner.

Ich möchte aber gerne jeden Ordner der sich darin befindet auf seine Gültigkeit überprüfen und ggfl. löschen.

Das Script macht bei mir auch keine Aktion. Es werden zwar alle Variablen gesetzt aber der Löschvorgang wird nicht ausgeführt.

Schon mal vielen Dank für Deine Hilfe


Viele Grüsse
Macjoe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 15.05.2003 - 18:59    Titel: Antworten mit Zitat

Hallo macjoe,

ich habe das Skript jetzt mal entsprechend umgestaltet.
Nun wird das Änderungsdatum eines Ordners geprüft. Ist dies älter als drei Tage, wird der Ordner in den Papierkorb verfrachtet.

Skript:

global Heute
set Heute to (current date)

set ZielOrdner to "Datengrab:Desktop Folder:Brauche Input:" as alias
tell application "Finder"
-- nur Ordner werden aufgelistet
set FolderList to every folder of folder ZielOrdner
try -- nur wenn Ordner existieren
repeat with oneFolder in FolderList
set oneFolder to oneFolder as alias
-- Handler wird aufgerufen, der
-- die Ordner prüft und ggf. löscht
my CheckFolder(oneFolder)
end repeat
end try
-- Inhalt des Papierkorbs wird geprüft
set TrashList to contents of trash
if TrashList is not {} then
-- falls etwas im Papierkorb ist:
-- Was soll damit geschehen?
set theDlog to (display dialog ¬
"Es befinden sich Objekte im Papierkorb." & return & ¬
"Soll der Papierkorb entleert werden?" buttons ¬
{"Nein", "Inhalt ansehen", "Jetzt leeren"} ¬
default button 3 giving up after 20)
-- Nichts
if button returned of theDlog = "Nein" or gave up of theDlog then
return
else if button returned of theDlog = "Inhalt ansehen" then
activate
--Papierkorb wird geöffnet
open trash
else
-- Papierkorb wird geleert
empty the trash
end if
end if
end tell

on CheckFolder(oneFolder)
set foldInfo to info for oneFolder
-- das Änderungsdatum des Ordners wird geprüft
set ModDate to modification date of foldInfo
set ZeitDifferenz to (Heute - ModDate)
set TagesDifferenz to ¬
round (ZeitDifferenz / 86400) rounding as taught in school
log "Tagesdifferenz: " & TagesDifferenz
if TagesDifferenz3 then
tell application "Finder" to move oneFolder to the trash
end if
end CheckFolder


Viel Erfolg beim Testen
Gruß
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
macjoe
•->
•->


Anmeldedatum: 07.05.2003
Beiträge: 14

BeitragVerfasst am: 16.05.2003 - 10:26    Titel: Antworten mit Zitat

Super!

Vielen Dank!

Ich habe noch den Dialog raus genommen um das Script ohne Aufsicht laufen zu lassen.


Viele Grüsse
Macjoe


PS: Woher kennst Du den Namen meiner Festplatten?
Eine meiner Platten heist "Datengrab" Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
macjoe
•->
•->


Anmeldedatum: 07.05.2003
Beiträge: 14

BeitragVerfasst am: 16.05.2003 - 11:10    Titel: Antworten mit Zitat

Doch noch ein Problem...

Das ganze soll den Ordner auf einem Linux Server passieren.
Was muss ich dem Script sagen das es richtig arbeitet?

Es funktionert lokal aber nicht auf einer Server Festplatte die gemountet ist...


Danke


Viele Grüsse
Macjoe Confused
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
macjoe
•->
•->


Anmeldedatum: 07.05.2003
Beiträge: 14

BeitragVerfasst am: 25.05.2003 - 21:41    Titel: Antworten mit Zitat

Fehler gefunden...

Das Problem auf dem Linux Server war, dass der Ordner der überwacht werden soll in einem geschützen Verzeichnis liegt. Dadurch kann die Datei nicht in den Network Trash von netatalk verschoben werden.

Das Verändern der Zugriffsrechte hat das Problem beseitigt.

Auf einem OS X Fileserver ist es übrigens das Gleiche...


Viele Grüße
Macjoe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter