[GastForen Programmierung/Entwicklung AppleScript Batchsuche über den Finder

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Batchsuche über den Finder

swish
Beiträge gesamt: 75

25. Apr 2005, 13:19
Beitrag # 1 von 8
Bewertung:
(2222 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,

hat jemand von Euch schon Erfahrungen mit dem automatischen Suchen von mehreren Dateien gleichzeitig gemacht ?

Ich möchte am liebsten ein kleines Droplet haben, was eine Textdatei ausliest und auf einem bestimmten Volume nach allen Dateinamen aus der Textdatei sucht.

Die Textdatei beinhaltet einfach nur die Dateinamen mit einem Zeielumbruch getrennt ...

Vielen Dank schonmal für alle Anregungen ...

Gruß,

Stephan
X

Batchsuche über den Finder

Hans Haesler
  
Beiträge gesamt: 5826

25. Apr 2005, 14:27
Beitrag # 2 von 8
Beitrag ID: #419587
Bewertung:
(2221 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

eine interessante Aufgabe! Theoretisch sollte es machbar sein.
Aber wie möchtest Du denn die Resultate angezeigt bekommen?
Was soll mit den gefundenen Dateien geschehen?

Und: Welches Mac OS? ;-)

Gruss, Hans


als Antwort auf: [#419586]

Batchsuche über den Finder

swish
Beiträge gesamt: 75

25. Apr 2005, 14:47
Beitrag # 3 von 8
Beitrag ID: #419588
Bewertung:
(2221 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ich habe OS 10.3.9 (und in wenigen Tagen den Tiger !!!! *freu*).

Das Ergebnis wäre natürlich am komfortabelsten, wenn es wie die Suchergebnisse aufgelistet würde. Das würde aber wohl jeglichen Programmierrahmen sprengen. =;o)

Ich würde gerne Aliasse davon in einem zu definierenden Ordner haben, dann kann man von da aus direkt in XPress arbeiten.

Macht man das ganze über rekursive list-folder schleifen, würde das wohl verdammt lange dauern, oder?
Oder kann man direkt auf die Desktop-Datei zugreifen ? Würde natürlich das ganze superschnell machen ?!?!

Ich steh auf'm Schlauch ...  :?

Gruß,

Stephan


als Antwort auf: [#419586]

Batchsuche über den Finder

Hans Haesler
  
Beiträge gesamt: 5826

25. Apr 2005, 15:42
Beitrag # 4 von 8
Beitrag ID: #419589
Bewertung:
(2221 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

um rekursive Schleifen wird man nicht herumkommen. Wichtig ist aber auch der Ausgangspunkt der Suche.
Denn wenn man sie nicht eingrenzen kann, dann würde es sehr, sehr lange dauern ...

Zitat von s_wissing ich habe OS 10.3.9 (und in wenigen Tagen den Tiger !!!! *freu*).

Dann, glaube ich, mache ich mich gar nicht erst ans Entwickeln. Denn: (Zitat ab Apple's Website): "... Instantly find
what you’re looking for. Get information in an instant with a single click. Mac OS X Tiger delivers 200+ new features
which make it easier than ever to find, access and enjoy everything on your computer."

Gruss, Hans


als Antwort auf: [#419586]

Batchsuche über den Finder

swish
Beiträge gesamt: 75

25. Apr 2005, 15:45
Beitrag # 5 von 8
Beitrag ID: #419590
Bewertung:
(2221 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ok, dann hoffen wir mal auf den Tiger ...

und die Sache mit den rekursiven Schleifen als "unausweichliches" Mittel recht mir schon als Info ...

Danke Hans


als Antwort auf: [#419586]

Batchsuche über den Finder

Hans Haesler
  
Beiträge gesamt: 5826

25. Apr 2005, 16:59
Beitrag # 6 von 8
Beitrag ID: #419591
Bewertung:
(2221 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

obwohl alles wunderbar tönt, glaube ich nicht, dass der Tiger eine Batch-Suche nach Deinem Muster
ermöglicht. Du hättest Dich halt damit beizeiten an Steve wenden sollen! ;-)

Von wegen rekursiv: Es kommt darauf an, wie die Daten organisiert sind. Wenn in einem Hauptordner
lauter Unterordner sind, welche die gesuchten Dateien enthalten können, dann kann man mit einer
einfachen Wiederholungsschleife die Ordner abklappern.

Wenn aber die Unterordner selbst Unterordner enthalten, welche berücksichtigt werden müssen, dann
kommt man um einen rekursiven (= sich selbst aufrufenden) Code nicht herum.

Das Prinzip ist einfach. Angenommen, das Script ist ein Droplet, werden die gedroppten Objekte einem Handler
übergeben. Dieser stellt fest, ob es sich um einen Ordner oder um eine Datei handelt. Dateien werden
einem weiteren Handler übergeben. Bei einem Ordner wird dessen Inhalt in eine Liste gegeben. Diese
Liste wird zum Handler, in welchem das Auspacken des Ordners geschieht, geschickt, damit dieser wieder
testen kann, ob die Objekte Dateien oder Odner sind usw. usf.

Zur Illustration etwas Code, damit die Sache verständlicher ist.
---
-- der 'open handler', welcher auf das Fallenlassen von Objekten reagiert
on open allObjects
   -- Wiederholschleife, welche alle gedroppten Objekte zum Handler 'processObject' schickt
   repeat with aObject in allObjects
      processObject(aObject)
   end repeat
end open

-- im folgenden Handler wird festgestellt, ob das Objekt ein Ordner oder eine Datei ist
-- bei Ordnern wird eine Liste des Inhalts erstellt und die Elemente rekursiv behandelt (d.h. zum aktuellen Handler geschickt)
-- Dateien werden zum Handler 'processFile' gesandt
on processObject(aObject)
   -- wenn der Pfad mit einem Doppelpunkt endet, ist das Objekt ein Ordner
   if (aObject as string) ends with ":" then
      -- die Liste der Objekte wird erstellt (ohne unsichtbare Dateien)
      set contentsList to list folder aObject without invisibles
      -- dies ist das rekursive Teil: die Wiederholschleife schickt alle Objekte zum Handler, in welchem sie sich selbst befindet
      repeat with anItem in contentsList
         set objPath to ((aObject as string) & anItem)
         processObject(objPath as alias)
      end repeat
   else
      processFile(aObject as string)
   end if
end processObject

-- in diesem Handler wird die Datei behandelt
on processFile(aFile)
   -- entsprechende Befehle hier einfügen
   display dialog "" & aFile as string
end processFile

---
Dies gilt aber nur für "normale" Ordner und Dateien. Programme, z.B., kommen auch mit Doppelpunkt am Ende des
Pfades daher. Und Packages auch. Aber beide müsste man anders behandeln.

Gruss, Hans


als Antwort auf: [#419586]

Batchsuche über den Finder

swish
Beiträge gesamt: 75

26. Apr 2005, 10:50
Beitrag # 7 von 8
Beitrag ID: #419592
Bewertung:
(2221 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
super damit kann ich schon ne menge anfangen ...

wie bekomme ich dann von der gefundenen datei ein alias an einem bestimmten ort abgelegt ?

make alias of file aFile at folder AliasFolder    <-- funktioniert leider nicht ...


als Antwort auf: [#419586]

Batchsuche über den Finder

Hans Haesler
  
Beiträge gesamt: 5826

26. Apr 2005, 11:44
Beitrag # 8 von 8
Beitrag ID: #419593
Bewertung:
(2221 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

ja, die Syntax zum Generieren einer Alias-Datei ist etwas speziell ...
Code
[b]tell application "Finder" [b]to make new alias at folder AliasFolder to file aFile 

Gruss, Hans


als Antwort auf: [#419586]
X