Tema: Ayuda con AppleScripts
Hola,
Tengo que hacer un script que se ejecute cuando se cae un archivo en una carpeta (folder actions).
El script debe chequear que el archivo haya terminado de copiarse a la carpeta (son archivos grandes, que demoran un rato en copiarse). Una vez que el archivo terminó de copiarse, debe ser copiado a OTRA carpeta en una maquina por red.
Para identificar si el archivo se terminó de copiar o no, se puede comparar el su tamaño cada 5 segundos y si el tamaño cambia, es que sigue copiando, si el tamaño queda constante durante 5 segundos, se puede considerar que terminó de copiar.
También como plus, una vez copiado el archivo a la maquina en red, se podría poner un label rojo por decir algo, para que la próxima vez que se ejecute el script, no lo copie de nuevo. Para eso, el script debería de chequear también que el label no sea rojo.
Encontré esto que hace algo medio parecido en la parte de verificar si el archivo terminó de copiarse o no, pero la acción termina agregando el archivo a iTunes.. yo precisaría suplantar esa parte por la de copiar a otra carpeta y marcar label rojo.
property DELAY_TIME_SECONDS : 5 -- How long to wait between checking file size.
on adding folder items to thisFolder after receiving theItems
repeat with f in theItems
set oldSize to 0
set newSize to -1
-- When newSize equals oldSize, it means the copy is complete because the size hasn't changed.
repeat while newSize is not equal to oldSize
-- Get the file size.
set oldSize to size of (info for f)
delay DELAY_TIME_SECONDS
-- Sample the size again after delay for comparison.
set newSize to size of (info for f)
end repeat
-- HERE BEGINS THE iTunes SPECIFIC STUFF
tell application "iTunes"
launch
try
add f
(* UNCOMMENT OUT NEXT 2 LINES IF YOU WANT THE FILE REMOVED AFTER IMPORT
set the file_path to the quoted form of the POSIX path of f
do shell script ("rm -f " & file_path)
*)
end try
end tell
-- HERE ENDS THE iTunes SPECIFIC STUFF
end repeat
end adding folder items to
http://dougscripts.com/iTunes/itinfo/folderaction01.php
Alguien encara scripts como para hacer esto? Está interesante.
Gracias.