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

Javascript
javascript 动态数据下的锚点错位问题解决方法
jQuery 动画基础教程
jQuery 操作XML入门
ASP SQL防注入的方法
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
jquery 插件 任意位置浮动固定层
JavaScript 检测浏览器和操作系统的脚本
不要小看注释掉的JS 引起的安全问题
js实现的验证,学习用js控制td
javascript iframe中打开文件,并检测iframe存在否
Javascript typeof 用法
Javascript valueOf 使用方法
extjs form textfield的隐藏方法
extjs grid取到数据而不显示的解决
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
My Desktop :) 桌面式代码
javascript 双击文本框编辑功能代码
不用写JS也能使用EXTJS视频演示
js 提取class相同的节点集合
js Li来实现的效果

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 313 ::
收藏到网摘: 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>