Pages

4 déc. 2011

Finder vs System Events vs UNIX

tell application "Finder"
set List1 to the name of every item of startup disk
end tell

tell application "System Events"
set List2 to the name of every item of startup disk
end tell

set List3 to do shell script "ls -a /"

(count of List1) = (count of List2)
--> false

(count of List2) = (count of List3)
--> false

2 commentaires:

FredoMkb a dit…

Très intéressant ce test comparatif, ça a titillé ma curiosité pour essayer de comprendre, voici mes déductions (à confirmer) : le "Finder" ne liste par défaut que les éléments visibles, le "System Events" liste tous les objets visibles et invisibles, cela explique la première comparaison fausse, quant à la commande Shell, elle a un comportement similaire à "System Events", avec quelques nuances, mais ne crée pas une liste avec la syntaxe AppleScript, ce qui explique la seconde comparaison fausse. Dans tout les cas, c'est la commande Shell qui semble générer la liste la plus complète et la mieux structurée : d'abord les éléments invisibles possédant un point au début de leur nom, ensuite tous les objets visibles et, enfin, les éléments invisibles gérés notamment par le système OsX. Bon et utile à savoir tout ça... merci pour ce test très instructif ! :-)

Anonyme a dit…

Merci Fredo pour ta perspicacité