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


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 radio 操作代码
Mar 16 Javascript
zTree插件下拉树使用入门教程
Apr 11 Javascript
jQuery中的基本选择器用法学习教程
Apr 14 Javascript
JavaScript关于提高网站性能的几点建议(一)
Jul 24 Javascript
jQuery实现搜索页面关键字的功能
Feb 16 Javascript
原生js二级联动效果
Jun 20 Javascript
jQuery实现简单的回到顶部totop功能示例
Oct 16 jQuery
js实现随机点名系统(实例讲解)
Oct 18 Javascript
echarts整合多个类似option的方法实例
Jul 10 Javascript
vue.extend与vue.component的区别和联系
Sep 19 Javascript
Vue Cli3 创建项目的方法步骤
Oct 15 Javascript
改变layer confirm弹窗按钮的颜色方法
Sep 12 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
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
PHP中用正则表达式清除字符串的空白
2011/01/17 PHP
php实现计数器方法小结
2015/01/05 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
探秘vue-rx 2.0(推荐)
2018/09/21 Javascript
javascript数组的定义及操作实例
2019/11/10 Javascript
js验证密码强度解析
2020/03/18 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python的即时标记项目练习笔记
2014/09/18 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
tensorflow 环境变量设置方式
2020/02/06 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
python简单实现9宫格图片实例
2020/09/03 Python
python中的时区问题
2021/01/14 Python
详解html5 shiv.js和respond.min.js
2018/01/24 HTML / CSS
法务专员岗位职责
2014/01/02 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
上课打牌的检讨书
2014/02/15 职场文书
社团活动总结
2014/04/28 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
中学生检讨书范文
2014/11/03 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
MySQL日期时间函数知识汇总
2022/03/17 MySQL