Autormator: Ordner zählen?

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/autormator_ordner_zaehlen_210575/page_1 - zur Vollversion wechseln!


retro schrieb am 24.09.2009 um 14:20

Vielleicht kennt sich ja hier jemand mit Automator (Apple) aus, und weiß wie (ob) folgendes geht:

Ich möchte dem Automator einen Ordner zb. [Filme] angeben in diesem Ordner befinden sich wieder Ordner zb. [Regisseure] und die soll er zählen allerdings sollte der Ordner [Regisseure] weitere Unterordner enthalten dann sollte der diese mitzhählen dafür den Ordner [Regisseure] der die Unterorder enthält nicht mitzählen.

Klingt kompliziert, ist es für mich auch.

Dankeschön.


quilty schrieb am 24.09.2009 um 14:27

D.h. du willst nur die einzelnen Enden des Verzeichnisbaums zählen und die Äste dazwischen nicht.

Da ich den/der/das Automator (Apple) nicht einmal kenne, kann ich zur Lösung nur ein Stichwort beitragen: Rekursion


prayerslayer schrieb am 24.09.2009 um 18:22

vielleicht hilfreich: http://www.macosxhints.com/article....060401140625207

//ups, zu schnell. da ist keine rekursion drin.

/// wennst das setTheCount durch ungefähr sowas (hab keinen mac):

Code:
on setItemCount(theFolder)
  tell application "Finder"
    set subFolders to (get folders of theFolder)
		set fileCount to (count(get files in folder theFolder))
		repeat with subFolder in subFolders
			set fileCount to fileCount+setItemCount(subFolder)
		end
		set name of theFolder to (comment of theFolder) & (fileCount to string)
		return fileCount
  end tell
end setItemCount
ersetzt, sollte es super gehen. dann heißt der ordner "[Filme]" halt "[Filme] 42", wenn 42 dateien drin sind.

OHNE GEWÄHR, ich hab grad zum ersten mal applescript gesehen.


retro schrieb am 24.09.2009 um 20:18

blos soll ers eh nicht umbennen sondern mir nur ausgeben (oder in eine txt schreiben)

ich probier das halt mal...


prayerslayer schrieb am 24.09.2009 um 20:23

wollt ich anfangs auch machen, nur ohne probieren is sowas immer blöd. sonst nimm meine funktion, übergib den ordner und gibs mit "say" aus :D


retro schrieb am 28.09.2009 um 22:34

repeat with Regisseur in alleRegisseure
set summeUnterordner to {}
set x to 0
set Inhalt2 to entire content of Regisseur
repeat with Element2 in Inhalt2
if kind of Element2 = Folder then
set x to x + 1
end if
end repeat
if x = 0 then -- der Unterordner war leer
set x to 1 -- wir zählen nur den Regisseurordner
end if
set summeOrdner to (summeOrdner + x) -- das Zwischenergebnis wird zur Gesamtsumme addiert
end repeat



so vielleicht ?




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026