giovedì 10 luglio 2014

File, filtri e ordinamento

Oggi esamineremo come ottenere una lista di file e cartelle, filtrarle e ordinarle.
Prima di tutto esaminiamo come ottenere la lista dei file nella cartella corrente:

put the files


questo comando vi crea una lista di files, ordinati uno per riga:

.setup.exe
.setup.txt
about.txt
Engine License.txt
IDE License.txt
License Agreement.txt
LiveCode Community.exe
Open Source Licenses.txt
Release Notes.pdf
revpdfprinter.dll
revsecurity.dll


Se volessimo ottenere più informazioni sui file, ci basterebbe aggiungere l'opzione detailed:

put the detailed files


e otterremmo una lista, proprio come questa  dove in ogni riga trovereste, se il sistema operativo fornisce tale informazioni:
  • Il nome, in formato URL (quello usato dai browser)
  • Dimensione in bytes (corrisponde al data fork su Mac)
  • Dimensione del resource fork (solo per Mac)
  • Data di creazione in secondi
  • Data di modifica in secondi
  • Data di ultimo accesso in secondi
  • Data dell'ultimo backup (solo per Mac)
  • Proprietario del file (solo Linux e Mac)
  • Gruppo di appartenenza (solo Linux e Mac)
  • Permessi del file
  • Creatore e tipo del file (solo Mac)

proprio come questa lista:

.setup.exe,53653104,,1404119405,1404119409,1404907646,,,,777,
.setup.txt,73132,,1404119356,1404119409,1404119409,,,,666,
about.txt,14689,,1404119356,1404119356,1404119356,,,,666,
Engine+License.txt,34458,,1404119358,1404119358,1404119358,,,,666,
IDE+License.txt,1587,,1404119359,1404119359,1404119359,,,,666,
License+Agreement.txt,34182,,1404119359,1404119359,1404119359,,,,666,
LiveCode+Community.exe,3715072,,1404119359,1404119360,1404907620,,,,777,
Open+Source+Licenses.txt,41578,,1404119360,1404119360,1404119360,,,,666,
Release+Notes.pdf,474521,,1404119360,1404119360,1404119360,,,,666,
revpdfprinter.dll,753664,,1404119360,1404119360,1404310153,,,,666,
revsecurity.dll,1553408,,1404119360,1404119360,1404907622,,,,666,

Alla stessa maniera potete ottenere la lista delle cartelle con:

put the folders
#oppure
put the detailed folders


ecco la lista normale delle cartelle:

..
Documentation
Externals
Plugins
Resources
Runtime
Toolset


Come vedete il sistema operativo, Windows in questo caso, può aggiungere delle cartelle fittizie quando si richiede la lista delle cartelli. Le cartelle fittizie possono essere quella indicata da un punto (.) e/o quella indicata da due punti (..). La cartella mostrata come un punto (.) significa la cartella stessa; mentre la cartella con due punti (..) rappresenta la cartella superiore, cioè quella che contiene la cartella corrente.

Se ci danno fastidio queste cartelle virtuali, possiamo eliminarle dalla lista semplicemente con il comando filter, ad esempio:

put the folders into temp
filter lines of temp without ".."
filter lines of temp without "."



Se vogliamo avere la lista dei file ordinati per dimensione, ci basta usare sort:


put the detailed files into temp
sort lines of temp descending numeric by item 2 of each


Per finire, se vogliamo spostarci in un'altra posizione, basta impostare la proprietà folder (senza la s finale), ad esempio per salire di una cartella basta:

set the folder to ".."


Oppure potete impostare folder con un percorso assoluto:

set the folder to "C:/Programmi/RunRev"