AppleScript: trova tutte le istanze di "Cartella" ed elenca i contenuti in una casella / elenco a discesa

0

Sto provando a creare uno script che possa essere utilizzato per trovare tutte le istanze di una cartella, sia sull'unità principale, sull'unità esterna o sulla memoria di rete montata, ed elencare tutti i contenuti in una casella a cascata o selezionabile elenca in una finestra di dialogo.

Per pseudo-codice:

tell application "Finder"
    for (every instance of "*/Folder"
        append items in "*/Folder" to contentsList
    end for
end tell

Onestamente non ho idea di come farlo effettivamente in AppleScript visto che non ha nativamente dei loop, e non sono sicuro di aggiungere elementi agli array in AppleScript.

Qualcuno è in grado di darmi qualche suggerimento? In alternativa, essere in grado di fare lo stesso in uno script di shell sarebbe altrettanto buono.

Grazie in anticipo!

    
posta FreelancerJ 10.10.2013 - 14:03
fonte

2 risposte

1
set l to {}
tell application "Finder"
    repeat with f in (folders of entire contents of (POSIX file "/Users/username/" as alias) where name is "Folder") as alias list
        repeat with i in (get items of f)
            set end of l to POSIX path of (i as alias)
        end repeat
    end repeat
end tell
choose from list l
find ~ -name Folder -exec ls {} +
shopt -s globstar # bash 4.0 or later
printf %s\n ~/**/Folder/*
mdfind 'kMDItemContentType==public.folder&&kMDItemFSName==Folder' -onlyin ~ |
while IFS= read -r l; do ls "$l"; done
    
risposta data 10.10.2013 - 15:41
fonte
0

Con bash puoi fare qualcosa di simile

for dir in $(find ~ -type d -name 'Folder' -print); do
    echo $dir
    ls -al "$dir"
    echo
done
    
risposta data 10.10.2013 - 14:13
fonte

Leggi altre domande sui tag