Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Tiburon •->


Anmeldedatum: 25.10.2001 Beiträge: 1 Wohnort: Bern
|
Verfasst am: 25.10.2001 - 14:33 Titel: Ordner prüfen ob leer - Festellen, ob ein bestimmer Ordner D |
|
|
Es geht darum in FM 5.0 ein Applescript auszuführen, das einen Ordner auf Inhalt überprüft. Wenn der Ordner gar nicht vorhanden oder leer ist, dann soll eine OK Meldung ausgegeben werden
Da ich mit Applescript im Detail zuwenig vertraut bin, gibt es vielleicht jemand hier, der mir die Syntax überprüfen könnte:
Der folgende Script (aus Filmaker 5.0 heraus verwendet) funktioniert "fast", d.h auch wenn der Folder "Unsent Messages" leer ist, kommt die Fehlermeldung
"There are unsent messages! contact system administrator!" statt die OK Meldung. Was noch fehlt ist die Überprüfung, ob der Folder überhaupt existiert
Danke
Urs
try
set logPath to ((path to system folder) as string) & "MondoMail:Logs:Unsent Messages"
tell application "Finder"
if folder logPath is not empty then
display dialog "There are unsent messages! contact system administrator!"
activate
open folder logPath
else
display dialog "OK, no unsent messages"
end if
end tell
end _________________ Urs Gr¸tzner CH-3006 Bern |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 25.10.2001 - 16:30 Titel: Ordner prüfen ob leer |
|
|
Hallo Tiburon,
ich habe es gerade ausprobiert ein bißchen umgeschrieben. In den Kommentaren findest Du den Rest der Antwort
Ich habe außerdem ein 2. Script drumherum geschrieben, welches genau das Gleiche ausführt. Funzt auch im FileMaker.
-- so etwas hilft manchmal
try
set logPath to ((path to system folder) as string) & "MondoMail:Logs:Unsent Messages:"
list folder logPath without invisibles
(*tell application "Finder"
-- existiert der Ordner überhaupt?
if exists folder logPath then
activate
--hier lassen wir uns eine Liste aller GESUCHTEN items geben
--es gibt auch unsichtbare icons etc.
-- aber das war es in deinem Fall nicht
-- nicht vergessen, richtigen file type einsetzen oder vor "where auskommentieren"
set theL to every item of folder logPath --where file type of it = "TEXT"
-- das gleiche kann man aber auch via
-- > list folder logPath without invisibles <
-- ohne Finder! hinbekommen.
if theL = {} then
display dialog "There are unsent messages! contact system administrator!"
open folder logPath
else
display dialog "OK, no unsent messages"
end if
else
--falls Fehlermeldung erwünscht folgende Zeile als Script
--error "Ordner \"Unsent Messages nicht vorhanden\" nicht vorhanden!" number -1728
end if
end tell
-- evtl. Fehler anzeigen
on error errmsg number errnum
activate
display dialog "Fehler: " & errnum & "/" & errmsg buttons { "OK" } default button 1 with icon 0
end try
-- 2. Script:
-- so etwas hilft manchmal
try
set logPath to ((path to system folder) as string) & "MondoMail:Logs:Unsent Messages:"
-- folder logPath nicht vorhanden ist bekommen wir einen error errmsg number num!
-- allerdings sprichst das auch auf Ordner an, ein file type wird hier nicht berücksichtigt
set theBool to ((list folder logPath without invisibles) = {})
if (theBool) then
-- grins: wenn wir schon eine try&error clause haben dann nutzen wir sie doch!
error "OK, no unsent messages" number -31313
else
-- Vorteil hier: der Finder wird nur aktiv wenn nötig
tell application "Finder"
activate
display dialog "There are unsent messages! contact system administrator!"
open folder logPath
end tell
end if
on error errmsg number errnum
activate
-- (-120) wird bei fehlendem Ordner zurückgegeben, jedenfalls bei mir (warum nicht - 1728?)
-- UND -43 im FileMaker!! also austesten !
if errnum != -43 then
display dialog "Nr.: " & errnum & "/" & errmsg buttons { "OK" } default button 1 with icon 0
end if
end try
[/color]
Gruß Folker _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 25.10.2001 - 16:47 Titel: Ordner prüfen ob leer |
|
|
Aha! Da hab' ich mich ja nun doch vergallopiert
Das "(*" Bei (*tell application "Finder" muss ja raus! Und im 2. Script, was die Fehler angeht ist es richtig! Wenn man den Pfad (logpath) mit Doppelpunkt am Ende angibt kommt der error -120 "Folder not found" o.ä. und wenn der Pfad ohne Doppelpunkt (is ja eigentlich nicht ganz richtig) dann kommt error -43 "File not found"
AppleScript liegt richtig ;)
Gruß,
Folker _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
|
|
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
|
|
|