一共分4个文件 分别是主程序 main.html  左边窗口:mainleft.html 右边窗口:mainright.html 还有相应的文件属性窗口:mainproperty.html

main.html

 

<HTML>
<head>

<title>Give this SoftWare To my Lovest GF LuLU</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Content-Language" content="en">
<meta name="keywords" content="JF Asset Management; JPMorgan;">
<meta name="description" content="JF Online">

<!-- <frameset  rows="195,*">-->
<frameset   cols="180,*,400">
<!-- Start CodeMerge001 on April 9,2007 -->
    <!-- <frame name="" src="top.jsp" marginwidth="0" marginheight="0" scrolling="no" frameborder="no">
    <frame name="" src="/mjfUsr/main/content.htm" marginwidth="0" marginheight="0" scrolling="auto" frameborder="no">
  -->
    <frame name="frame1" src="mainleft.html"  marginwidth="0" marginheight="0" scrolling="auto" frameborder="1">
    <frame name="frame2" src="mainright.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="1">
    <frame name="frame3" src="mainproperty.html" marginwidth="0" marginheight="0" scrolling="auto" frameborder="1">
<!-- END CodeMerge001 on April 9,2007 --> 

</frameset>

</HTML>

 

mainleft.html

 

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title> File System </title>
</head>

<script language ="javascript">


function changeDrive(obj){

ShowFolderList(obj.innerHTML.substr(0,2));

}

function ShowDriveList()
{
   var fso, s, n, e, x;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   e = new Enumerator(fso.Drives);
   s = "";
   for (; !e.atEnd(); e.moveNext())
   {
      x = e.item();
      s = s +"<div ondblclick='return changeDrive(this);'> "+ x.DriveLetter;
      s += ":";
      if (x.DriveType == 3)
         n = x.ShareName;
      else if (x.IsReady)
         n = x.VolumeName+"(free:"+(x.FreeSpace/(1024*1024*1024)).toString().substr(0,4)+"GB)";
      else
         n = "[Drive not ready]";

     s += n+"</div>";
    
 
   }
 
   document.getElementById('div').innerHTML = s ;
}

function ShowFolderList(obj)
{
   var fso, f, fc, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.GetFolder(obj);
   fc = new Enumerator(f.SubFolders);
   s = "";
   for (; !fc.atEnd(); fc.moveNext())
   {
      s += "<font color='green'><div ondblclick='return checkFileOrFolder(this);'>"+fc.item()+"</div></font>";
      s += "<br>";
   }
  
   fc = new Enumerator(f.Files);
   for (; !fc.atEnd(); fc.moveNext())
   {
      s += "<font color='blue'><div ondblclick='return checkFileOrFolder(this);'>"+fc.item()+"</div></font>";
      s += "<br>";
   }
   parent.frames.frame2.div.innerHTML = s;

}


function checkFileOrFolder(obj){

}

 

</script>
<body onload = 'return ShowDriveList();'>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<div id ='div'></div>

</body>

</html>

 

 

mainright.html

 

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head>

<script language ="javascript" >

var backArray = new Array();
var fso = new ActiveXObject("Scripting.FileSystemObject");
var check = 0 ;
var driverC = 0
function ShowFolderList(obj)
{
   var f, fc, s;
   f = fso.GetFolder(obj);
   fc = new Enumerator(f.SubFolders);
   s = "";
   for (; !fc.atEnd(); fc.moveNext())
   {
      s += "<font color='green'><div ondblclick='return checkFileOrFolder(this);'>"+fc.item()+"</div></font>";
      s += "<br>";
   }
  
   fc = new Enumerator(f.Files);
   for (; !fc.atEnd(); fc.moveNext())
   {
      s += "<font color='blue'><div ondblclick='return checkFileOrFolder(this);'>"+fc.item()+"</div></font>";
      s += "<br>";
   }
   parent.frames.frame2.div.innerHTML = s;

}

function checkFileOrFolder(obj){
 
   check = 1;
   if(driverC ==0){
      backArray.push(obj.innerHTML.substr(0,2));
      driverC = 1;
   }
   if (fso.FileExists(obj.innerHTML)) {
     
       parent.frames.frame3.div.innerHTML = getProp(obj.innerHTML);
         
   }
   if (fso.FolderExists(obj.innerHTML)) {
      
       //alert(obj.innerHTML);
       backArray.push(obj.innerHTML);
       ShowFolderList(obj.innerHTML);
     
   }

}

 function back() {
  if(check == 1)
  { backArray.pop();   check  = 0;}
 
  var ao = backArray.pop();
  //alert(backArray.length+':'+ao)
  //if(ao !=undefined)
   ShowFolderList(ao);
 
}

function getProp(obj) {
  if(!fso.FileExists(obj))
     return ' ';
  var f = fso.GetFile(obj);
  var str ='文件名字: '+obj+'<br/>';
  switch(f.attributes){
    case 0:  str  += '文件属性: '+'普通文件。 不设置属性。'+'<br/>';break;
    case 1:  str  += '文件属性: '+'只读文件。 属性为读/写。'+'<br/>'; break;
    case 2:  str  += '文件属性: '+'隐藏文件。 属性为读/写。'+'<br/>'; break;
    case 4:  str  += '文件属性: '+'系统文件。 属性为读/写。'+'<br/>'; break;
    case 8:  str  += '文件属性: '+'磁盘驱动器卷标。 属性为只读。'+'<br/>'; break;
    case 16: str  += '文件属性: '+'文件夹或目录。 属性为只读。'+'<br/>'; break;
    case 32: str  += '文件属性: '+'文件在上次备份后已经修改。 属性为读/写。'+'<br/>'; break;
    case 64: str  += '文件属性: '+'链接或者快捷方式。 属性为只读。'+'<br/>'; break;
    case 128:str  += '文件属性: '+'压缩文件。 属性为只读。'+'<br/>'; 
    default:break;
  }
 
  str += '创建时间:&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ' + new Date(f.DateCreated).toLocaleString()+'<br/>';
  str += '最近一次访问时间: ' + new Date(f.DateLastAccessed).toLocaleString()+'<br/>';
  str += '最近一次修改时间: ' + new Date(f.DateLastModified).toLocaleString()+'<br/>';
  str += '简名: ' + f.ShortName +'<br/>';
  str += '占用空间 : ' + f.size/1024 +'KB'+'<br/><br/><br/><br/><br/><br/>';
  str+="<input type='button' value='打开' id='"+obj+"' onclick='return opendoc(this);'/>"
  str+="<input type='button' value='删除'  id='"+obj+"' onclick='return deletedoc(this);'/>"
  str+="<input type='button' value='另存为' id='"+obj+"' onclick='return savedoc(this);'/>"
  return str;

}

</script>

<body>
<br/>
<br/>
<input type ="button" value ="back"   onclick="return back();"/>

<br/>
<br/>
<br/>

<div id ='div'> </div>
<br/>
<br/>
<br/>

 

</body>

</html>

 

mainproperty.html

 

 

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head>
<script language="javascript">

var wsh = new ActiveXObject('WScript.Shell');
var fso= new ActiveXObject("Scripting.FileSystemObject");

function opendoc(obj){
  if(wsh){
  wsh.Run(obj.id);
  }
}

function deletedoc(obj){
   var us = window.confirm('确定要删除吗?');
   if(us ==1)  {
          var f = fso.GetFile(obj.id);
          f.Delete();
          parent.frames.frame2.window.location.reload();
   }
   else return;

}
function savedoc(obj){
  alert('have not add this function please wait'obj.id);
}

</script>

<body>

<br/>
<br/>
<br/>
<br/>
<div id ='div'></div>

</body>

</html>

 

 

 

当然这个非常简单 还有很多没有完善 比如文件转移 还有后退功能