two snippets that might be useful
// make read only: attrib.exe +R <Path>
txt=Run Program(executable("attrib.exe"),options({"+R","\!""||file||"\!""}),readfunction("text"));
if(txt!="",show(txt));
and
// make NOT read only: attrib.exe -R <Path>
txt=Run Program(executable("attrib.exe"),options({"-R","\!""||convertfilepath(file,windows)||"\!""}),readfunction("text"));
if(txt!="",show(txt));
You should probably use the convertFilePath(... , windows) on the top one as well; the command line program attrib will be expecting a windows style name. I think the code I grabbed these from knows the top one is already OK. Attrib prints nothing when it works. The if(...show...) is for debugging bad path names. The doc says attrib can set and clear the hidden attribute as well.
I think read-only is the way to go; I suspect that will make other programs not lock you out.
Craige