MSI Factory 2.3

File.SetAttributes

File.SetAttributes

This is the first topic This is the last topic  

File.SetAttributes

This is the first topic This is the last topic  

OverviewExamples

File.SetAttributes (

string Filename,

table Attributes )

Example 1

-- get the file's current attributes

attrib = File.GetAttributes( _TempFolder .. "\\MyTempFile.tmp" );

 

-- override a couple of the values in the table

attrib.ReadOnly = true;

attrib.Hidden = false;

 

-- set the modified attributes back to the file

File.SetAttributes( _TempFolder .. "\\MyTempFile.tmp", attrib );

Sets the ReadOnly attribute and unsets the Hidden attribute of the MyTempFile.tmp file located in the user's temp folder, leaving all other attributes the same.

Example 2

-- create an empty table

attrib = {};

 

-- add two elements to it ("ReadOnly" and "Hidden")

attrib.ReadOnly = true;

attrib.Hidden = false;

 

-- apply those attributes to the file

File.SetAttributes( _TempFolder .. "\\MyTempFile.tmp", attrib );

This does the same thing as example 1: it sets the ReadOnly attribute and unsets the Hidden attribute of the MyTempFile.tmp file located in the user's temp folder, leaving all other attributes the same.

Example 3

-- change two attributes in the file by creating a table "on the fly"

File.SetAttributes( _TempFolder .. "\\MyTempFile.tmp", {ReadOnly=true, Hidden=false} )

This does the same thing as examples 1 and 2: it sets the ReadOnly attribute and unsets the Hidden attribute of the MyTempFile.tmp file located in the user's temp folder, leaving all other attributes the same.

Note: The {ReadOnly=true, Hidden=false} part creates a "temporary" table with ReadOnly and Hidden elements set to true and false, respectively. This is just like creating a named table (like attrib in the examples above) and then passing it to the action by its name. The only difference is that this table doesn't have a name. It's basically just a one-off.

See also: Related Actions


Learn More: Indigo Rose Software - MSI Factory - Buy Now - Contact Us