Tengo que ir a través de una pila de discos duros y memorias usb buscando viejos quickbook archivos. Por lo tanto, he escrito un applescript que se dispara cuando una nueva unidad está montada. Se busca la unidad para qbb o qbo archivos y los copias a una carpeta en la unidad principal.
Lo tengo funcionando casi a la perfección, pero, para la vida de mí, no puedo conseguir la repetición de bucle para que se ejecute pasado el primer elemento de la lista. Así, se agarra qbb archivos, pero no qbo archivos. Sé que está fallando porque puedo activar con un USB kye que ha ficticio qbo y qbb archivos en él.
Sé que me falta algo obvio, pero mantener el trasiego de mi cerebro fue en vano.
Aquí está mi script. Por favor alguien puede darme verificación de cordura (y la solución)?
Gracias!
on adding folder items to thisFolder after receiving addedItems
# set the path for the files to be copied too.
set thePath to ((path to home folder as text) & "00_QBB:")
if not pathExists(thePath) then
display dialog "Could not find the path. Files have not been copied."
return
end if
try
# get name of Loaded Drive
set loadedDriveName to item 1 of addedItems
# set paths for source source drive
set loadedDrive to POSIX path of loadedDriveName
# create folder, named for Loaded Drive, for inbound copies
set thePath to thePath & loadedDriveName
set thePath to POSIX path of thePath
set makeFolder to "mkdir " & thePath
# display dialog makeFolder
do shell script (makeFolder)
# set search criteria
set qbFileTypes to {"qbb", "qbo"}
# lookthrough drive for desired file types to find and copy
repeat with n from 1 to (count of qbFiletypes)
set qbCount to (count of qbFiletypes)
set qbCurrentType to (item n of qbFiletypes)
# display dialog qbCurrentType & " + " & qbCount
set grab_qbb to "find " & loadedDrive & " -iname \"*" & qbCurrentType & "*\" -exec cp {} " & thePath & " \\;"
# display dialog grab_qbb
do shell script (grab_qbb)
end repeat
on error
display dialog "Could not copy files."
return
end try
end adding folder items to
on pathExists(thePath) -- pathExists("path:to:folder: OR :file")
try
get thePath as alias
return true
on error
return false
end try
end pathExists