hilfdirselbst.ch
Facebook Twitter gamper-media
Mac OS X enthält verschiedene integrierte Werkzeuge und Technologien, mit denen sich gängige Aufgaben schnell und einfach automatisieren lassen.
Hans Haesler  M  p
Beiträge: 5432
5. Aug 2003, 09:28
Beitrag #1 von 1
Bewertung:
(874 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Effizient prüfen, ob ein Ordner vorhanden ist


Eine Erklärung der "Minimalsyntax", welche Goar im Thema "Script soll Speicherung einer ps-Datei abwarten" angesprochen hat.

In vielen Scripts wird der Finder eingesetzt, um zu prüfen, ob eine Datei oder ein Ordner schon existiert. Nun ist aber bekannt, dass der Finder nicht immer blitzartig reagiert, vor allem wenn er alle Hände voll zu tun hat.

Deshalb ist es besser, zuerst mit 'as alias' nachzufragen – ohne den Finder zu bemühen. Wenn man den Befehl in einen try-wrapper setzt, dann wird eine Fehlermeldung generiert, wenn das Objekt nicht existiert. Und dann erst kommt im 'on error'-Teil der Finder zum Zuge. Und zwar möglichst mit einem Befehl auf einer Zeile. Dadurch wird der Einsatz des Finders spürbar effizienter.

Den folgenden Handler 'makeFolder()' habe ich in einem grossen Script eingesetzt. Darin gibt es sieben  Stellen, an welchen ein Zielordner gebraucht wird, immer mit anderem Namen und anderem Pfad. Vor jedem Aufruf werden die Variablen vorbereitet und der angesprochene Handler ist immer derselbe.

Hier habe ich den Pfad und die Namen vereinfacht:
---
set folPath to (path to startup disk as string)
set folName to "testFolder"
set targetFolder to ((path to startup disk as string) & "testFolder")

makeFolder(targetFolder, folPath, folName)

on makeFolder(targetFolder, folPath, folName)
  try
    targetFolder as alias
  on error
    tell application "Finder" to make new folder at folder folPath with properties {name:folName}
  end try
end makeFolder
---

Hans Haesler, hsa@ringier.ch Top
 
X