Vai al contenuto

Chi mi aiuta AppleScript


Messaggi raccomandati

chi mi da una mano a creare una mini applicazione applescript. In sostanza ho bisogno una mini applicazione applescrit che copi una determinata cartella su un server FTP... solo che non conosco il linguaggio.

Ho trovato questo ma non capisco come modificarlo.. dove aggiungere il path della cartella e dove mettere i dati FTP... qualcuno me lo può spiegare come avessi tre anni...

grazie

upload
Uploads the given file or folder to the given remote ftp folder using "curl".
If you need user/password to login to such server, append it to the URL. Eg:
ftp://user:password@ftp.server.com/dir/

Parameters:
filePath: file path, alias, posix path (a file or folder)
remoteDir: ftp directory (eg: "ftp://ftp.server.com/foo/" or "ftp://user:password@ftp.server.com/dir/")

Example:
upload(alias "path:to:dir:", "ftp://usernameHERE:passwordHERE@ftp.serverHERE.com/html/docs/")
*)

to upload(filePath, remoteDir)
   global baseLocalFolder, baseRemoteFolder, ftpHome, ftpDir
   script nesteed
       to guessNewDir(f) -- "/path/to/footest" --> /footest
           set prevTids to AppleScript's text item delimiters
           set AppleScript's text item delimiters to POSIX path of parent's baseLocalFolder
           set f to item -1 of f's text items
           set AppleScript's text item delimiters to prevTids
           return f
       end guessNewDir
       to breakURL(d) --> "ftp://user:pass@ftp.server.com/html/docs/" --> {"ftp://user:pass@ftp.server.com", "/html/docs"}
           set prevTids to AppleScript's text item delimiters
           set AppleScript's text item delimiters to "/"
           set ftpHome to "" & items 1 thru 3 of d's text items
           try
               set ftpDir to "/" & items 4 thru -1 of d's text items
           on error
               set ftpDir to "/"
           end try
           set AppleScript's text item delimiters to prevTids
           return {ftpHome, ftpDir}
       end breakURL

       to processUnknownItem(f, remoteDir)
           set f to f as text
           if f ends with ":" then
               processFolder(f, remoteDir)
           else
               do shell script "curl -T " & quoted form of POSIX path of f & space & quoted form of remoteDir
           end if
       end processUnknownItem
       to processFolder(f, remoteDir)
           set newDir to guessNewDir(POSIX path of f) --> "/footest"
           try --> avoid existing dirs
               if newDir is not "" then do shell script "curl -Q " & quoted form of ("MKD " & parent's ftpDir & newDir) & space & parent's ftpHome
           end try
           set itemList to list folder alias f without invisibles
           repeat with i in itemList
               processUnknownItem(alias (f & i), parent's ftpHome & parent's ftpDir & newDir)
           end repeat
       end processFolder
   end script
   set wasError to false
   try
       set filePath to filePath as Unicode text
       if filePath does not contain ":" then set filePath to POSIX file filePath as Unicode text
       if remoteDir does not end with "/" then set remoteDir to remoteDir & "/"

       if filePath ends with ":" then --> mirror dir
           -- MAKE DIRECTORY "TEST" IN EXISTING "/HTML/DOCS"
           -- curl -Q "MKD /html/docs/test" ftp://user:pass@ftp.server.com

           set baseLocalFolder to filePath
           set baseRemoteFolder to remoteDir
           set {ftpHome, ftpDir} to breakURL(remoteDir) of nesteed --> {"ftp://user:pass@ftp.server.com", "/html/docs"}

           processFolder(filePath, remoteDir) of nesteed
       else
           do shell script "curl -T " & quoted form of POSIX path of filePath & space & quoted form of remoteDir
       end if
   on error msg number n
       set wasError to true
   end try
   set baseLocalFolder to missing value
   set baseRemoteFolder to missing value
   set ftpHome to missing value
   set ftpDir to missing value
   if wasError then error msg number n
   return
end upload

Publisher, producer, designer, developer… One man show 

http://www.42srl.it

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...