Newsgroup: it.comp.macintosh
Titolo: Scritp per dimensioni cartella

Ho trovato questo script (azione cartella) che vorrei usare per aprire
un avviso quando una cartella supera una certa dimensione:
 
on adding folder items to this_folder after receiving these_items
        set maximum_size to 4.0E+9 -- your size here
        set folder_size to size of (info for this_folder)
        if folder_size is greater than maximum_size then
                display alert "Folder \"" & (this_folder as text) & "\"
is greater than the maximum size." & return & "Please contact Manager"
        end if
end adding folder items to
 
 
Pare funzionare bene pero' se voglio cambiare le dimensioni a qualcosa
di differente da 4 GB come faccio?non trovo informazioni ed essendo zero
completo in scripting (non l'avevate capito vero???)non so come cambiare
quel 4.0E+9 a qualcosa d'altro..come funziona?
 
grazie a chi mi aiuta!
 

 quel 4.0E+9 a qualcosa d'altro..come funziona?
 
Be' ... scusa, non vorrei risultare indisponente ma sembreresti anche 
zero completo in matematica e inglese :-P ... (e non voglio fare lo 
sborone, che io non sono certo mica una cima...)
 
C'� per� scritto il commento: your size here
 
   set maximum_size to 4.0E+9 -- your size here
 
Mentre 4.0E+9 � in notazione scientifica pari a 4,0 * 1 con 9 zeri.
Cambia quello e cambi la soglia.
Il piccolo casino � che � un valore in byte, credo. E le dimensioni su 
disco o dimensioni fisiche, in blocchi ecc. sono sempre da prendere a 
modo loro.
 
Cmq mi sembra pi� simpatico questo script... che aggiorna (o dovrebbe 
aggiornare, visto che le azioni cartella a me a volte vanno, a volte 
no...) il nome della cartella con il suo size in Kb.
 
 -- ===========
on adding folder items to thisFolder after receiving addedItems
   my setTheSize(thisFolder)
end adding folder items to
 
on removing folder items from thisFolder after losing addedItems
   my setTheSize(thisFolder)
end removing folder items from
 
on setTheSize(theFolderAlias)
   tell application "Finder"
      set theFolder to (theFolderAlias)
      set theName to name of theFolder
 
      set mySize to (size of (info for theFolder)) / 1024 as integer
 
      set otid to AppleScript's text item delimiters
      set AppleScript's text item delimiters to "["
      set baseName to text item 1 of theName
      set AppleScript's text item delimiters to otid
      if mySize > 0 then
         set nameEnd to "[" & mySize & "]"
         set name of theFolder to baseName & nameEnd
      else
         if mySize = 0 then set name of theFolder to baseName
      end if
   end tell
end setTheSize
 -- ===========
 
Non vorrei fosse per� lento ad aggiornarsi se aggiungi e togli troppa 
roba assieme. Prova a sostituire la riga 14:
 
 
   set mySize to (size of (info for theFolder)) / 1024 as integer
 
 
Con:
 
 
   set mySize to �
         do shell script "du -ms " & quoted form of (POSIX path of 
theFolder) & " | cut -f 1"
 
 
Nota, puoi cambiare la scala del size:
Se ... du -ks ... il conto dei blocchi � in 1'024-byte (1-Kbyte)
Se ... du -ms ... il conto dei blocchi � in 1'048'576-byte (1-Mbyte)
Se ... du -gs ... il conto dei blocchi � in 1'073'741'824-byte (1-Gbyte)
 
E modificare anche la variabile di conseguenza, aggiungendo poi l'unit� 
desiderata in questo caso Mb 
 
 
   set mySize to �
         do shell script "du -ms " & quoted form of (POSIX path of 
theFolder) & " | cut -f 1"
   set mySize to (mySize & "Mb") 
 
 
 
 
 
Poi mi pare ridondante ma puoi anche integrare l'avviso di soglia. Qui 
quando aggiungi elementi per esempio. Stessa modifica quando togli.
 
 
 
on adding folder items to thisFolder after receiving addedItems
   my setTheSize(thisFolder)
 
   set max_size to 4.0E+9
   set folder_size to size of (info for thisFolder)
   if folder_size > max_size then
      display alert "La cartella supera la soglia di " & max_size & "!"
    end if
end adding folder items to
 
-- 
// Treat everyone u meet like u want to be treated
        aggiungere un tra per spedire posta

 
interessante ma mi serve qualcosa per un utente che deve essere
costantemente avvisato quando lo sapzio su disco diminuisce..(e spostare
fisicamente le cartelle gia' lavorate su un altro disco)
 
grazie dell' aiuto