JAVASCRIPT完全自学手册,中源码的验证修订实例
源代码在线查看: 17-3 文件属性查看器.hta
17-3 文件属性查看器
* { font-size:12px; font-family:宋体, Arial; } /*规定了所有的字体样式*/
body { overflow:auto; }
table { border-collapse:collapse; }
td { border:1px solid #555; padding:3px 15px; }
var fso;
//函数“$”根据指定字符串获取相应ID的对象
function $(str){ return(document.getElementById(str)); }
//窗体载入完毕时初始化
window.onload = function(){
//创建FSO控件
fso = new ActiveXObject("Scripting.FileSystemObject");
//绑定文件选择控件
$("f1").onchange = show_file_info;
}
//显示文件信息
function show_file_info(){
var path, f, re, atts;
//获取输入的文件路径
path = $("f1").value;
//确认路径有效性
if(!path)return;
if(!fso.FileExists(path))return;
//获取文件对象
f = fso.GetFile(path);
//解析文件的属性
atts = analysis(f.Attributes);
//输出文件相关的属性信息
$("attReadOnly").checked = atts.ReadOnly;
$("attHidden").checked = atts.Hidden;
$("attSystem").checked = atts.System;
$("attArchive").checked = atts.Archive;
$("attDateCreate").innerHTML = f.DateCreated;
$("attDateLastAccessed").innerHTML = f.DateLastAccessed;
$("attDateLastModified").innerHTML = f.DateLastModified;
$("attDrive").innerHTML = f.Drive;
$("attName").value = f.Name;
$("attParentFolder").innerHTML = f.ParentFolder;
$("attPath").innerHTML = f.Path;
$("attShortName").innerHTML = f.ShortName;
$("attShortPath").innerHTML = f.ShortPath;
$("attSize").innerHTML = f.Size;
$("attType").innerHTML = f.Type;
}
//解析文件属性
function analysis(att){
var re = new Object();
re.ReadOnly = false; re.Hidden = false;
re.System = false; re.Volume = false; re.Directory = false;
re.Archive = false; re.Alias = false; re.Compressed = false;
if(att>=2048){ re.Compressed = true; att-=2048; }
if(att>=1024){ re.Alias = true; att-=1024; }
if(att>=32){ re.Archive = true; att-=32; }
if(att>=16){ re.Directory = true; att-=16; }
if(att>=8){ re.Volume = true; att-=8; }
if(att>=4){ re.System = true; att-=4; }
if(att>=2){ re.Hidden = true; att-=2; }
if(att>=1){ re.ReadOnly = true; att-=1; }
return(re);
}
//设置文件属性值
function modifyAtt(){
var path, f, re, atts;
atts = ($("attReadOnly").checked?1:0) + ($("attHidden").checked?2:0) + ($("attSystem").checked?4:0) + ($("attArchive").checked?32:0);
path = $("f1").value;
if(!path)return;
if(!fso.FileExists(path))return;
try{
f = fso.GetFile(path);
f.Attributes = atts;
//如果文件名被修改,则执行修改文件名的操作
if(f.Name != $("attName").value)f.Name = $("attName").value;
}catch(e){ alert("文件属性设置失败,原因是:\r\n\r\n\t" + e.description); }
show_file_info();
}
请选择需要查看的文件
文件属性:
只读:
隐藏:
系统:
归档:
创建日期:
最后访问日期:
最后修改日期:
驱动器名:
文件名称:
所在文件夹名称:
文件路径名称:
短文件名:
短文件路径名称:
文件大小:
文件类型: