当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 硬盘浏览程序,保存成网页格式便可使用

Javascript
IE bug table元素的innerHTML
Javascript学习笔记1 数据类型
Javascript学习笔记2 函数
Javascript学习笔记3 作用域
Javascript学习笔记4 Eval函数
Javascript学习笔记5 类和对象
Javascript学习笔记6 prototype的提出
Javascript学习笔记7 原型链的原理
Javascript学习笔记8 用JSON做原型
Javascript学习笔记9 prototype封装继承
Javascript 读书笔记索引贴
JavaScript 事件冒泡应用实例分析
JavaScript 事件冒泡简介及应用
Extjs学习笔记之九 数据模型(上)
javascript Object与Function使用
取选中的radio的值
JavaScript 学习笔记(九)call和apply方法
javascript下判断一个对象是否具有指定名称的属性的的代码
Javascript 实现TreeView CheckBox全选效果
jquery插件 cluetip 关键词注释

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 85 ::
收藏到网摘: n/a

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

<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:[email protected]][@06.11]
</font>
</div>
</body>
</html>