硬盘浏览程序,保存成网页格式便可使用


Posted in Javascript onDecember 03, 2006

硬盘浏览程序,保存成网页格式便可使用,放到随意一个盘,不要放桌面就可以了

<html> 
<head> 
<script language="javascript" type="text/javascript"> 
var errorinf=new Error(); 
var fso,fdrive,ffolder,ffile; 
var getdata="",selfpath="",drvpath="",favpath=""; 
var drive=new Array(),favorite=new Array(); 
var currentdrive=""; 
var hidestate=false; 
var lastdrive="",lastfav=""; 
var ppath=new Error(),ppathcounter=0,favcounter=0; 
var openfromfav=0; 
function initdoc() 
{ 
try 
{ 
   var outstr="",counter=0,i=0,writestr=""; 
   fso=new ActiveXObject("Scripting.FileSystemObject"); 
   selfpath=fso.GetParentFolderName(location.pathname.replace(/\//,"")); 
   drvpath=selfpath+"\\drvinf.ini"; 
   /*Get the hard drives on the computer.*/ 
   if(!fso.FileExists(drvpath)) 
      { 
         fdrive=fso.Drives; 
         getdata=new Enumerator(fdrive); 
         for(;!getdata.atEnd();getdata.moveNext()) 
           if(getdata.item().DriveType==2) 
             { 
                drive[counter]=getdata.item().DriveLetter; 
                writestr+=drive[counter]+"$"; 
                counter++; 
              } 
         ffile=fso.CreateTextFile(drvpath,true); 
         writestr=writestr.replace(/\$$/,""); 
         ffile.WriteLine(writestr+"\r"); 
         ffile.Close(); 
      } 
   else 
      { 
        ffile=fso.OpenTextFile(drvpath,1); 
        getdata=ffile.ReadAll().replace(/\'|\"|\\|\/|\:|\s+/g,""); 
        getdata=getdata.replace(/^\$+|\$+$/,""); 
        getdata=getdata.replace(/\$\$+/,"$"); 
        drive=getdata.split("$"); 
        ffile.Close(); 
      } 
   for(i=0;i<drive.length;i++) 
      outstr+="[<a href='' id='drive"+drive[i]+"' onClick=\"driveactive(drive["+i+"]);return false;\">本地磁盘:"+drive[i]+"</a>]"; 
   outstr+="显示隐藏内容<input style='height:15px;border:none;' type='checkbox' id='showorhide' onClick='hidestate=this.checked;flashdrive();'>" 
   document.getElementById("drives").innerHTML=outstr; 
   getdata="";outstr=""; 
   /*Get the exist item.*/ 
   favpath=selfpath+"\\favinf.ini"; 
   if(fso.FileExists(favpath)) 
    { 
      ffile=fso.OpenTextFile(favpath,1); 
      if(!ffile.AtEndOfStream) 
       { 
          getdata=ffile.ReadAll().replace(/\"|\s+/g,""); 
          getdata=getdata.replace(/^\|+|\|+$/,""); 
          getdata=getdata.replace(/\|\|+/,"|"); 
          favorite=getdata.split("|"); 
       } 
      ffile.Close(); 
      if(favorite[0]=="") 
        favcounter=0; 
      else 
        favcounter=favorite.length; 
    } 
   else 
    { 
      ffile=fso.CreateTextFile(favpath,true); 
      ffile.Close(); 
      favcounter=0; 
    }   
   openfav(); 
   driveactive("C"); 
   getdata=""; 
}catch(errorinf){alert(errorinf.description+"\n\n请不要随便改变数据文件*.ini文件中的内容.");} 
} 
function driveactive(driveval) 
{ 
try{   
   if(lastdrive==("drive"+driveval)&¤tdrive.match(/^[a-z]\:\\$/i)) 
     { 
       document.getElementById("showorhide").focus(); 
       return false; 
     } 
   if(lastdrive=="")lastdrive="driveC"; 
   document.getElementById(lastdrive).style.backgroundColor="#CCCCCC"; 
   lastdrive="drive"+driveval; 
   document.getElementById(lastdrive).style.backgroundColor="#FFFFDD"; 
   var att="",drv,totalsize,freespace,usespace,outstr="",pathstr="",attribu=0,subfolfil="",fcount=0; 
   drv=fso.GetDrive(driveval); 
   totalsize=Math.round((drv.TotalSize/Math.pow(2,30))*100)/100; 
   freespace=Math.round((drv.FreeSpace/Math.pow(2,30))*100)/100; 
   usespace=Math.round((totalsize-freespace)*100)/100; 
   totalsize>1 ? totalsize+="GB":totalsize=totalsize*Math.pow(2,10)+"MB"; 
   freespace>1 ? freespace+="GB":freespace=freespace*Math.pow(2,10)+"MB"; 
   usespace>1 ? usespace+="GB":usespace=usespace*Math.pow(2,10)+"MB"; 
   att+="本地磁盘:"+driveval+"\n文件系统:"+drv.FileSystem+"\n磁盘大小:"+totalsize+"\n已用空间:"+usespace+"\n可用空间:"+freespace+"\n"; 
   outstr=""; 
   currentdrive=pathstr=driveval+":\\"; 
   ffolder=fso.GetFolder(pathstr+"\\").SubFolders; 
   getdata=new Enumerator(ffolder); 
   outstr="<div class='showcon'>文件夹:[<a href='' onclick=\"return unfurlorfold('folshow',this);\">隐藏</a>]<div id='folshow'>"; 
   ppathcounter=0; 
   for(;!getdata.atEnd();getdata.moveNext()) 
    { 
     attribu=getdata.item().Attributes; 
     if(hidestate||attribu==16||attribu==17||attribu==48||attribu==49) 
      { 
        fcount++; 
        ppath[ppathcounter]=driveval+":\\"+getdata.item().name; 
        outstr+="<div><a href='' onClick=\"folderactive(ppath["+ppathcounter+"]);" 
        outstr+="return false;\">"+getdata.item().Name+"</a></div>"; 
        ppathcounter++; 
      } 
    } 
   subfolfil="找到"+fcount+"个文件夹,"; 
   fcount=0; 
   ffile=fso.GetFolder(pathstr).Files; 
   getdata=new Enumerator(ffile); 
   outstr+="</div></div><div class='showcon'>文  件:[<a href='' onclick=\"return unfurlorfold('filshow',this);\">隐藏</a>]<div id='filshow'>"; 
   for(;!getdata.atEnd();getdata.moveNext()) 
    { 
     attribu=getdata.item().Attributes; 
     if(hidestate||attribu==0||attribu==1||attribu==32||attribu==33) 
      { 
        fcount++; 
        outstr+="<div><a href=\""+currentdrive+"\" target='_blank'>"+getdata.item().Name+"</a></div>"; 
      } 
    }  
   outstr+="</div></div>"; 
   subfolfil+=fcount+"个文件."; 
   document.getElementById("showcontent").innerHTML=outstr; 
   document.getElementById("currentdrive").innerText=currentdrive; 
   document.getElementById("showdriveatt").innerText=att; 
   att="文件夹名称:\n\n文件夹大小:\n创建时间:\n\n修改时间:\n\n访问时间:\n\n"; 
   document.getElementById("showfolderatt").innerText=att; 
   document.getElementById("subfolfil").innerText=subfolfil; 
   att="[<a href=\""+currentdrive+"\" target='_blank'>打开</a>]"; 
   att+="[<a href='' onclick=\"addfav();return false;\">收藏</a>]"; 
   document.getElementById("openfol").innerHTML=att; 
   document.getElementById("showorhide").focus(); 
   getdata=""; 
   }catch(errorinf){alert(errorinf.description+"\n\n请不要随便改变数据文件*.ini文件中的内容.");} 
} 
function folderactive(folderval) 
{ 
try 
{ 
   var att="",fol="",totalsize=0,sizesign=""; 
   openfolder(folderval); 
   if(!folderval.match(/^[a-z]\:\\$/i)) 
    { 
     fol=fso.GetFolder(folderval); 
     totalsize=fol.Size/Math.pow(2,30); 
     totalsize>1 ? sizesign="GB":(totalsize=totalsize*Math.pow(2,10),sizesign="MB"); 
     (totalsize<1 && sizesign=="MB") ? (totalsize=totalsize*Math.pow(2,10),sizesign="KB"):{} 
     totalsize=Math.round((totalsize)*100)/100+sizesign; 
     att+="文件夹名称:\n"+fol.Name+"\n文件夹大小:"+totalsize+"\n创建时间:\n"; 
     att+=fol.DateCreated+"\n修改时间:\n"+fol.DateLastModified+"\n访问时间:\n"+fol.DateLastAccessed; 
     document.getElementById("showfolderatt").innerText=att+"\n"; 
    } 
}catch(errorinf){alert(errorinf.description+"\n\n请不要随便改变数据文件*.ini文件中的内容.");} 
} 
function openfolder(currfolder) 
{ 
try 
{ 
   var sign=0,outstr="",attribu=0,subfolfil="",fcount=0; 
   if(currfolder==""){alert("没有选择文件夹.");return false;} 
   currentdrive=currfolder; 
   ffolder=fso.GetFolder(currfolder).SubFolders; 
   getdata=new Enumerator(ffolder); 
   outstr="<div class='showcon'>文件夹:[<a href='' onclick=\"return unfurlorfold('folshow',this);\">隐藏</a>]<div id='folshow'>"; 
   ppathcounter=0; 
   for(;!getdata.atEnd();getdata.moveNext()) 
    { 
     attribu=getdata.item().Attributes; 
     if(hidestate||attribu==16||attribu==17||attribu==48||attribu==49) 
      { 
        fcount++; 
        ppath[ppathcounter]=currfolder.replace(/\\+$/i,"")+"\\"+getdata.item().name; 
        outstr+="<div><a href='' onClick=\"folderactive(ppath["+ppathcounter+"]);" 
        outstr+="return false;\">"+getdata.item().Name+"</a></div>"; 
        ppathcounter++; 
      } 
    } 
   subfolfil="找到"+fcount+"个文件夹,"; 
   fcount=0; 
   ffile=fso.GetFolder(currfolder).Files; 
   getdata=new Enumerator(ffile); 
   outstr+="</div></div></div><div class='showcon'>文  件:[<a href='' onclick=\"return unfurlorfold('filshow',this);\">隐藏</a>]<div id='filshow'>"; 
   for(;!getdata.atEnd();getdata.moveNext()) 
    { 
     attribu=getdata.item().Attributes; 
     if(hidestate||attribu==0||attribu==1||attribu==32||attribu==33) 
      { 
        fcount++; 
        if(openfromfav==0) 
          outstr+="<div><a href=\""+currentdrive+"\" target='_blank'>"+getdata.item().Name+"</a></div>"; 
        else 
          outstr+="<div><a href=\""+currentdrive+"\\"+getdata.item().Name+"\" target='_blank'>"+getdata.item().Name+"</a></div>"; 
      } 
    }    
   outstr+="</div></div>";   
   subfolfil+=fcount+"个文件."; 
   document.getElementById("showcontent").innerHTML=outstr; 
   document.getElementById("currentdrive").innerText=currentdrive; 
   att="文件夹名称:\n\n文件夹大小:\n创建时间:\n\n修改时间:\n\n访问时间:"; 
   document.getElementById("showfolderatt").innerText=att; 
   document.getElementById("subfolfil").innerText=subfolfil; 
   att="[<a href=\""+currentdrive+"\" target='_blank'>打开</a>]"; 
   att+="[<a href='' onclick=\"addfav();return false;\">收藏</a>]"; 
   document.getElementById("openfol").innerHTML=att; 
   getdata=""; 
   openfromfav=0; 
  }catch(errorinf){alert(errorinf.description+"\n\n请不要随便改变数据文件*.ini文件中的内容.");} 
} 
function upfile() 
{ 
   var rootpath=""; 
   rootpath=currentdrive; 
   if(!rootpath.match(/^[a-z]\:\\$/i)) 
     { 
        rootpath=rootpath.replace(/\\[^\\]*$/,""); 
        if(rootpath.match(/^[a-z]\:$/i)){rootpath+="\\";} 
        folderactive(rootpath); 
     } 
   else 
     alert("驱动器根目录."); 
} 
function flashdrive() 
{ 
  folderactive(currentdrive); 
} 
function openfav() 
{ 
   lastfav=""; 
   var outstr="",i=0; 
   for(i;i<favcounter;i++) 
    { 
      outstr+="<a id='fav"+i+"' href='' onclick=\"openfromfav=1;folderactive(favorite["+i+"]);" 
      outstr+="favactive(this.id);return false;\" target='_blank'>"+favorite[i].replace(/^.+\\/,"")+"</a><br>"; 
    } 
   document.getElementById("showfavorite").innerHTML=outstr; 
   document.getElementById("delfav").value=""; 
} 
function favactive(favid) 
{ 
   var i=parseInt(favid.match(/\d/)); 
   if(lastfav!="") 
      document.getElementById(lastfav).style.backgroundColor="#CCCCCC"; 
   lastfav=favid; 
   document.getElementById("delfav").value=favorite[i]; 
   document.getElementById(lastfav).style.backgroundColor="#FFFFDD"; 
   document.getElementById("showorhide").focus(); 
} 
function addfav() 
{ 
try 
{ 
   if(currentdrive.match(/^[a-z]\:\\$/i)) 
     { 
       alert("只能收藏文件夹."); 
       return false; 
     } 
   var i=0; 
   for(i=0;i<favcounter;i++) 
     { 
       if(favorite[i]==currentdrive) 
         { 
            alert("常用文件夹中已经存在该文件夹."); 
            return false; 
         } 
     } 
   if(fso.FileExists(favpath)) 
     { 
       ffile=fso.OpenTextFile(favpath,8); 
     } 
   else 
     { 
       ffile=fso.CreateTextFile(favpath,true); 
     } 
   ffile.Write("|"+currentdrive); 
   ffile.Close(); 
   favorite[favcounter]=currentdrive; 
   favcounter++; 
   openfav(); 
   alert("添加成功."); 
}catch(errorinf){alert(errorinf.description+"\n\n请不要随便删除数据文件*.ini文件.");} 
} 
function delfav() 
{ 
try 
{ 
   var delpath=document.getElementById("delfav").value; 
   var i=lastfav.match(/\d/),j=parseInt(i); 
   var newfav=""; 
   document.getElementById("showorhide").focus(); 
   if(delpath=="") 
     { 
        alert("没有选择常用文件夹."); 
        return false; 
     } 
   if(confirm("确定删除常用文件夹(并非从硬盘删除):\n"+delpath+"\n?")) 
     { 
        favcounter--; 
        for(j;j<favcounter;j++) 
          favorite[j]=favorite[j+1]; 
        for(j=0;j<favcounter;j++) 
          newfav+=favorite[j]+"|"; 
        ffile=fso.OpenTextFile(favpath,2); 
        newfav=newfav.replace(/^\||\|$/,""); 
        ffile.WriteLine(newfav); 
        ffile.Close(); 
        openfav(); 
        document.getElementById("delfav").value=""; 
        alert("删除成功."); 
     } }catch(errorinf){document.getElementById("delfav").value="";alert(errorinf.description+"\n\n请不要随便删除数据文件*.ini文件.");} 
} 
function unfurlorfold(objid,obj) 
{ 
  if(obj.innerText=="隐藏") 
     { 
       obj.innerText="显示"; 
       document.getElementById(objid).style.display="none"; 
     } 
  else 
     { 
       obj.innerText="隐藏"; 
       document.getElementById(objid).style.display=""; 
     }   
  document.getElementById("showorhide").focus();  
  return false;   
} 
</script> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>FileLookThroughAdmin V1.0</title> 
<style type="text/css"> 
<!-- 
body{ 
background-color:#EEEEEE;} 
div.main{ 
background-color:#CCCCCC; 
width:100%; 
padding:6px 10px 10px;} 
h1{font-size:36px; 
font-family:"华文彩云"; 
color:#0000FF;} 
hr{ 
width:95%; 
text-align:left;} 
table.tableclass{ 
table-layout:fixed; 
word-wrap:break-word; 
width:100%; 
font-size:12px; 
background-color:#EEEEEE;} 
table.tableclass td{ 
background-color:#CCCCCC;} 
#drive{} 
td.drvinf{ 
vertical-align:top; 
padding:5px;} 
td.folderfile{ 
height:430px; 
vertical-align:top;} 
td.folderfile div.showcon{ 
width:100%;} 
td.folderfile div.showcon div div{ 
padding:1px 0px; 
width:49%; 
float:left;} 
a:link{text-decoration:none; 
color:#0000FF;} 
a:active{text-decoration:none; 
color:#0000FF;} 
a:visited{text-decoration:none; 
color:#0000FF;} 
a:hover{ 
text-decoration:underline; 
color:#FF0000; 
background-color:#FFFFDD;} 
.button{ 
border:none; 
height:20px; 
width:50px; 
background-color:#CCCCCC;} 
td.fav{ 
vertical-align:top; 
padding:5px;} 
--> 
</style> 
</head> 
<body onLoad="javascript:initdoc();status='FileLookThroughAdmin V1.0';"> 
<div class="main"> 
  <h1>FileLookThroughAdmin</h1> 
  <div style="margin-top:-36px;"><hr></div> 
  <div style="margin-top:-14px;position:relative;left:5%;"><hr></div> 
  <div> 
    <table class="tableclass"> 
      <tr align="center"> 
        <td width="18%">收藏夹</td> 
        <td width="60%">文件夹及文件</td> 
        <td>相关信息</td> 
      </tr> 
      <tr> 
        <td align="center"> 
          HardDrives>> 
        </td> 
        <td colspan="2"> 
          <div id="drives"></div> 
        </td> 
      </tr> 
      <tr> 
        <td align="center"> 
          Tag>> 
        </td> 
        <td align="center" colspan="2"> 
          DisplayContent 
        </td> 
      </tr> 
      <tr> 
        <td align="center"> 
          CurrentPath>> 
        </td> 
        <td colspan="2"> 
          <div id="currentdrive"></div> 
        </td> 
      </tr> 
      <tr> 
        <td class="fav"> 
          <div>常用文件夹:</div> 
          <div id="showfavorite"></div> 
        </td> 
        <td rowspan="2" class="folderfile"> 
          <div onclick="upfile();" style="height:15px;cursor:pointer;padding-top:5px;" align="center" 
           onmouseover="this.style.backgroundColor='#FFFFDD';" 
           onmouseout="this.style.backgroundColor='#CCCCCC';"> 
          上一级目录</div> 
          <div id="showcontent" style="padding-left:5px;"></div> 
        </td> 
        <td rowspan="2" class="drvinf"> 
          <font color="#FF0000">当前驱动器信息:</font> 
          <div id="showdriveatt"></div> 
          <font color="#FF0000">当前文件夹信息:</font> 
          <span id="openfol"></span> 
          <div id="showfolderatt"></div> 
          <div id="subfolfil" style="color:#FF0000;"></div> 
        </td> 
      </tr> 
      <tr> 
        <td class="fav"> 
          <div>删除常用文件夹:</div><br> 
          <div align="center"> 
            P:<input id="delfav" type="text" style="border:none;" readonly><br><br> 
            [<a href="" onClick="delfav();return false;">执行删除</a>] 
          </div> 
        </td> 
      </tr> 
    </table> 
  </div> 
</div> 
<div> 
  <font style="font-size:12px;cursor:default;" color="#666666" onmouseover="this.color='#FF0000'" onmouseout="this.color='#666666'"> 
    Design:sgw.LKing(∮LKing♂)[FS:Ecjtu2006|QQ:28857496|E-Mail:sgw.lking@gmail.com][@06.11] 
  </font> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
jquery 操作表格实现代码(多种操作打包)
Mar 20 Javascript
jquery 缓存问题的几个解决方法
Nov 11 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
Jun 04 Javascript
jQuery通过写入cookie实现更换网页背景的方法
Apr 15 Javascript
基于JQuery实现图片上传预览与删除操作
May 24 Javascript
Knockoutjs 学习系列(二)花式捆绑
Jun 07 Javascript
javascript弹出窗口中增加确定取消按钮
Jun 24 Javascript
BootStrap中
Dec 10 Javascript
webpack搭建vue 项目的步骤
Dec 27 Javascript
jquery实现动态创建form并提交的方法示例
May 27 jQuery
Angular8 Http拦截器简单使用教程
Aug 20 Javascript
JavaScript实现字符串与HTML格式相互转换
Mar 17 Javascript
常用js脚本
Dec 03 #Javascript
论坛特效代码收集(落伍转发-不错)
Dec 02 #Javascript
线路分流自动跳转代码;希望对大家有用!
Dec 02 #Javascript
phpwind放自动注册方法
Dec 02 #Javascript
一段好玩的JavaScript代码
Dec 01 #Javascript
[原创]网络复制内容时常用的正则+editplus
Nov 30 #Javascript
JavaScript中令你抓狂的魔术变量
Nov 30 #Javascript
You might like
如何使用动态共享对象的模式来安装PHP
2006/10/09 PHP
php文件下载处理方法分析
2015/04/22 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
在jQuery中 常用的选择器介绍
2013/04/16 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
Koa从零搭建到Api实现项目的搭建方法
2019/07/30 Javascript
对layui中table组件工具栏的使用详解
2019/09/19 Javascript
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
Python装饰器语法糖
2019/01/02 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
本科生职业生涯规划书范文
2014/01/21 职场文书
开业典礼主持词
2014/03/21 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
公司员工辞职信范文
2015/05/12 职场文书
企业党建工作总结2015
2015/05/26 职场文书
小学生运动会广播
2015/08/19 职场文书
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL