Copying files and Folder permissions

Nic Prioleau nickp at didata.bw
Wed Apr 4 09:20:37 EDT 2007


Hello the gurus...

Can anyone suggest the easiest way of checking files in a location on the server for instance, comparing the modification dates with the files on the user's disk and if the one on the server is later than one on user's disk, it copies the file?

I have a working script but it's real beginner stuff and the issue I'm having is that the server location needs a username and password before the script can do its thing!

I was initially using a nice small script using URL & binfile but one cannot compare the modificiation date on the file (As far as I know anyway)
I have included my script for your entertainment...

on checkFiles
  
  put empty into tempMessage
  put empty into tLocalPath
  put empty into tServerPath
  put the effective filename of this stack into tLocalPath
  set the itemDelimiter to "/"
  put "" into item -1 of tLocalPath

  put the serverFileDownloadURL of this cd into tURL                       ---(http://ipaddress/netcaresource/filesToDownload)
  put the serverFileDownloadPath of this cd into tServerPath             ---(\\ipaddress\netcaresource\filesToDownload\)
  put folder_content(tServerPath) into Serverfiles
  put folder_content(tLocalPath) into Localfiles
  put the number of lines in Serverfiles into SLines
  put the number of lines in Localfiles into LLines
  repeat with i = 1 to SLines
    show group "updateGroup"
    doImBusy
    put the line i of Serverfiles into thisSLine
    replace "," with cr in thisSLine
    put first line of thisSLine into tempSFile
    put Localfiles into testLocal
    replace comma with space in testLocal
    if tempSFile is among the words of testLocal then 
      repeat with j = 1 to LLines
        put the line j of LocalFiles into thisLFile
        replace comma with cr in thisLFile
        put first line of thisLFile into tempLFile
        if tempSFile = tempLFile then --If the file names match
          if line 5 of thisSLine > line 5 of thisLFile then ---- If the server version is greater
            put "Updating...." into fld "theAction"
            put tempLFile into fld "theFileName"
            put tURL & tempSFile into pFileName
            put URL tURL into URL ("binfile:"&pFileName)
            put tServerPath&tempSFile into theFile
            put tLocalPath&tempSFile into tFileName
            revCopyFile theFile,tFileName --- Copy the file
            if the result is empty then
              put tempSFile & " File Updated Sucessfully..."&cr after tempMessage
            end if
          end if
        end if
      end repeat
    else ---- If the file does not exist at all
      put "Downloading...." into fld "theAction"
      put tempSFile into fld "theFileName"
      put tURL & tempSFile into pFileName
      put URL tURL into URL ("binfile:"&pFileName)
      put tServerPath&tempSFile into theFile
      put tLocalPath&tempSFile into tFileName
      revCopyFile theFile,tFileName -- Copy the file
      if the result is empty then
        put tempSFile & " This new file Added Successfully..."&cr after tempMessage
      end if
    end if
  end repeat
  doImNotBusy
  hide group "updateGroup"
end checkFiles

function folder_content tFolder
  put the directory into olddir
  set the directory to tFolder
  put the detailed files into tFiles
  set the directory to olddir
  return tFiles
end folder_content


Please if anyone has an easier way or is able to assist with authentication issue, I'll be most grateful!!!

Thanks
Regards
Nic
#####################################################################################
This e-mail message has been scanned for Viruses and Content and cleared 
by MailMarshal
#####################################################################################



More information about the use-livecode mailing list