Ken, Tom,

I'm not sure this is as complete as it needs to be- the permission bits in characters 2 through 10 consist of 3 groups of permissions: 3 chars for the owner of the file, 3 for the group, and 3 for all others. On a multi-user MacOS X system, for example, you would find that each user's desktop is writable by the owner, but looks read-only to anyone else. In that case, looking for a "w" anywhere in the permissions would give the false impression that other users' desktop are writable by you.

You can get the owner of the file, the group, and the permissions from the "detailed files" listing.

Using the original "ls" command, you could try starting with something like this if you are on OS X or UNIX systems:

put shell("ls -ld"&&fileOrFolderPath) into theInfo
put word 1 of theInfo into thePermissions
put word 2 of theInfo into fOwner
put word 3 of theInfo into fGroup
put word 1 of shell("who am i") into thisUser
...

Getting back to the original question... it seems the quickest way to determine if you can write to a directory may simply be to do this:

open file (someDirectory&"/myfiletest")
if (there is a file (someDirectory&"/myfiletest")) then
  put TRUE into isWritable
  close file (someDirectory&"/myfiletest")
  delete file (someDirectory&"/myfiletest")
else
  put FALSE into isWritable
end if

Hopefully some of that helps!

function IsReadOnly pWhat
� -- Go to the home folder, then the Desktop
� -- folder inside, then get a listing
� put shell("cd ~;cd desktop;ls -l") into temp
� put lineOffset(space & pWhat &cr,temp) into tLine
� put char 2 to 10 of word 1 of tLine into tAccessModes
� return ("w" is in tAccessModes)
end IsReadOnly






------------------------------
Brian Yennie
Chief Technology Officer
QLD Learning, LLC
www.QLDLearning.com

PH: (904)-997-0212
EMAIL: [EMAIL PROTECTED]
-------------------------------

Reply via email to