1 (editado por Matt 06.10.2011 21:24:01)

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.

BLKX

2

Re: Ayuda con AppleScripts

Yo hice uno hace poco para mover archivos entre maquinas en la red. Terminé haciendo un .sh script, la verdad no se si se puede hacer con Apple Scripts, pero fue la unica forma que encontré. Quizás alguien más nos pueda decir.

Para mover los archivos:

1. Es por SSH así que tenés que tener la key guardada para que no te pregunte por el password. Mas info sobre esto acá: http://linuxproblem.org/art_9.html

2. El comando:

scp usuario@host:directorio/ArchivoOrigen ArchivoDestino

scp ArchivoOrigen usuario@host:directorio/ArchivoDestino

O también:

scp usuario@host:directorio/ArchivoOrigen usuario@host:directorio/ArchivoDestino

Ejemplo:

scp /users/matisito/video.mov [email protected]:/users/server/Videos/

iMac 27"

3

Re: Ayuda con AppleScripts

Si querés que te quede como applescript, simplemente pones do shell script y el comando que querés ejecutar entre comillas en el applescript editor.

MacBook Pro 15'' Retina, i7 @ 2.3GHz, 8GB RAM DDR3, 256GB SSD, NVIDIA GeForce GT 650M // MacBook Pro 13'' 2,26 GHz., 2 GB. RAM DDR3, 160 GB. HD, nvidia 9400m 256 mb.
iPhone 5 32GB white // iPhone 4 16 GB
iPad 32 GB
iPod nano 5th gen 8GB
(apple3)

4

Re: Ayuda con AppleScripts

OK, gracias. Igual yo preciso que el scriot me escáner una carpeta y copie los archivos que va encontrando en ella. No es copiar un arcivo especifico.

Pense que iba a ser mas facil, oero es bastante complejo...

BLKX

Re: Ayuda con AppleScripts

y tener un ftp server, pequeño y local mirando constantemente esa carpeta, que tenga algun trigger?
yo trataría por ese lado

# VCY5C957Y1 - MacBook Pro [18,3] Apple M1 Pro [8 cpu | 14 gpu]/ 14"/ 32GB/ 512GB SSD/ teclado US/ Sonoma 14.3 [A2442]
# F5203KF9NY - iPad Pro 11"/ 256GB/ IpadOS 17.3.1 [MTXQ2LL/A]
# C39D18G9N6XR - iPhone 11 Pro / 256GB/ IOs 17.3.1 [MW9V2LL/A]

6

Re: Ayuda con AppleScripts

Probaste con Hazel ?

MacacoSoldier ... Por favor, lee y respetá las reglas del foro.
Mac mini (Late 2014) | Mac mini (Mid 2010) | iPhone SE | Newton 110

Macintosh for Productivity, iPhone for Mobility, Linux for Development, Windows for Gaming