上QQ阅读APP看书,第一时间看更新
1.5.1 文件夹属性
Folder对象的属性如表1-5所示。
表1-5 Folder对象的属性
下例将输出C:\Program Files\Common Files\这个文件夹的各种属性。
Folder.asp
<%@codepage=936%> <% Response.Charset = "GBK" folderPath = "C:\Program Files\Common Files\" Set fso = CreateObject("Scripting.FileSystemObject") '判断文件夹是否存在 If fso.FolderExists(folderPath) Then Set folder = fso.GetFolder(folderPath) '取得Folder对象 '输出各种属性 Response.Write "属性:" & folder.Attributes &"<br>" Response.Write "创建时间:" & folder.DateCreated &"<br>" Response.Write "上次访问时间:" & folder.DateLastAccessed & "<br>" Response.Write "上次修改时间:" & folder.DateLastModified & "<br>" Response.Write "所在驱动器:" & folder.Drive &"<br>" Response.Write "根目录:" & folder.IsRootFolder &"<br>" Response.Write "文件夹名:" & folder.Name &"<br>" Response.Write "父文件夹:" & folder.ParentFolder &"<br>" Response.Write "路径:" & folder.Path &"<br>" Response.Write "短文件夹名:" & folder.ShortName &"<br>" Response.Write "短路径:" & folder.ShortPath &"<br>" Response.Write "大小:" & folder.Size &"字节<br>" Response.Write "类型:" & folder.Type & "<br>" Else Response.Write "文件夹不存在。" End If Set fso = Nothing %>
运行结果如图1-4所示。
图1-4 输出文件夹的属性
Attributes属性的可选值如表1-6所示。
表1-6 Attributes属性的可选值
实际上,这个列表是文件夹和文件共用的。
一个对象的Attributes属性可以是列表中值的组合。如只读文件夹是17(1+16),系统文件夹是20(4+16),只读隐藏系统文件夹是23(1+2+4+16),以此类推。
判断或去除某个Attributes属性时,建议使用逻辑运算符。如判断对象是否是隐藏的,可以使用AND运算符进行判断。
If folder.Attributes AND 2 Then Response.Write "是隐藏的" End If
如果想将对象变为不隐藏,可以使用XOR运算符。
folder.Attributes = folder.Attributes XOR 2
表1-6中的读写是什么意思呢?以Attributes值为16为例,如果一个对象的值是16 (也可能是17、18、19等),那么表示它是一个文件夹,这个事实是不允许更改的,所以这个值是只读的。换句话说,16这个值始终是与文件夹绑定的,不能去掉它,一个文件夹的Attributes属性一定大于等于16。