La recensione di oggi su PrintWindow mi ha fatto venire in mente, oltre al già citato ls > elenco.txt, che mi ero fatto un flusso in Automator piuttosto semplice ma efficace.
Va salvato come Plugin del Finder in Tiger, come Servizio in Snow Leopard mentre in Leopard non ricordo.
Compare nel menù contestuale e da lì può essere chiamato. Nota: non considera le sottocartelle ma elenca solamente il contenuto della cartella su cui lo si punta. Produce un file di testo, che va a mettere sulla scrivania, avente come nome il percorso della cartella e la data con l'ora (in effetti metà dello script serve a crearne il nome...) e come contenuto la lista degli elementi della cartella.
Ha un solo comando che è Esegui AppleScript dove lo script è il seguente.
Codice: Seleziona tutto
-- funzione sostituzione ":" con "_" per nome file corretto
on replaceText(find, replace, subject)
set prevTIDs to text item delimiters of AppleScript
set text item delimiters of AppleScript to find
set subject to text items of subject
set text item delimiters of AppleScript to replace
set subject to "" & subject
set text item delimiters of AppleScript to prevTIDs
return subject
end replaceText
on run {input, parameters}
tell application "Finder"
set elenco to "" as string
set cartella to input as string
set quanti to number of items of folder cartella as string
set contenuto to items of folder cartella
repeat with n from 1 to quanti
-- se elemento è una cartella, lo racchiude tra []
if class of item n of contenuto is folder then
set nome to "[" & (name of item n of contenuto as string) & "]"
else
set nome to (name of item n of contenuto as string)
end if
set elenco to elenco & nome & return
end repeat
end tell
-- definisce data e ora per nome file
set tempo to (current date)
set anno to year of tempo as string
set mese to month of tempo as number
if mese < 10 then
set mese to "0" & mese as string
end if
set giorno to day of tempo as number
if giorno < 10 then
set giorno to "0" & giorno as string
end if
set ora to hours of tempo as number
if ora < 10 then
set ora to "0" & ora as string
end if
set minuti to minutes of tempo as number
if minuti < 10 then
set minuti to "0" & minuti as string
end if
set secondi to seconds of tempo as number
if secondi < 10 then
set secondi to "0" & secondi as string
end if
set dataFile to (anno & mese & giorno & "_" & ora & minuti & secondi)
-- crea nome file con percorso, data e ora
set nomeFile to get replaceText(":", "_", cartella) & dataFile
tell application "Finder"
-- crea file su desktop con nome creato sopra
set lista to make new file of desktop with properties {name:(nomeFile)}
set lista to lista as alias
open for access lista with write permission
write elenco to lista
close access lista
end tell
end run