JS fso 处理

代码


Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><% 
'建立文件夹函数 
Function CreateFolder(strFolder)'参数为相对路径 
    '首选判断要建立的文件夹是否已经存在 
    Dim strTestFolder,objFSO 
    strTestFolder = Server.Mappath(strFolder) 
    Set objFSO = CreateObject("Scripting.FileSystemObject") 
    '检查文件夹是否存在 
    If not objFSO.FolderExists(strTestFolder) Then 
  '如果不存在则建立文件夹 
  objFSO.CreateFolder(strTestFolder) 
    End If 
 Set objFSO = Nothing 
End function 
'删除文件夹 
Function DelFolder(strFolder)'参数为相对路径 
 strTestFolder = Server.Mappath(strFolder) 
 Set objFSO = CreateObject("Scripting.FileSystemObject") 
 '检查文件夹是否存在 
 If objFSO.FolderExists(strTestFolder) Then 
  objFSO.DeleteFolder(strTestFolder) 
 end if 
 Set objFSO = Nothing 
End function 
'创建文本文件 
Function Createtextfile(fileurl,filecontent)'参数为相对路径和要写入文件的内容 
 Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 
 Set fout = objFSO.CreateTextFile(Server.MapPath(fileurl)) 
 fout.WriteLine filecontent 
 fout.close 
 Set objFSO = Nothing 
End Function 
'删除文件(适合所有文件) 
Function Deltextfile(fileurl)'参数为相对路径 
 Set objFSO = CreateObject("Scripting.FileSystemObject") 
  fileurl = Server.MapPath(fileurl) 
  if objFSO.FileExists(fileurl) then '检查文件是否存在 
   objFSO.DeleteFile(fileurl) 
  end if 
 Set objFSO = nothing 
End Function 
'建立图片文件并保存图片数据流 
Function Createimage(fileurl,imagecontent)'参数为相对路径和文件内容 
 Set objStream = Server.CreateObject("ADODB.Stream")   '建立ADODB.Stream对象,必须要ADO 2.5以上版本 
 objStream.Type =1   '以二进制模式打开 
 objStream.Open 
 objstream.write imagecontent   '将字符串内容写入缓冲 
 objstream.SaveToFile server.mappath(fileurl),2   '-将缓冲的内容写入文件 
 objstream.Close()'关闭对象 
 set objstream=nothing 
End Function 
'远程获取文件数据 
Function getHTTPPage(url)  
 'On Error Resume Next 
 dim http  
 set http=Server.createobject("Microsoft.XMLHTTP")  
 Http.open "GET",url,false  
 Http.send()  
 if Http.readystate<>4 then 
  exit function  
 end if  
 getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312") 
 set http=nothing 
 If Err.number<>0 then  
  getHTTPPage = "服务器获取文件内容出错"  
  Err.Clear 
 End If   
End function 
Function BytesToBstr(body,Cset) 
 dim objstream 
 set objstream = Server.CreateObject("adodb.stream") 
 objstream.Type = 1 
 objstream.Mode =3 
 objstream.Open 
 objstream.Write body 
 objstream.Position = 0 
 objstream.Type = 2 
 objstream.Charset = Cset 
 BytesToBstr = objstream.ReadText  
 objstream.Close 
 set objstream = nothing 
End Function 
'获取图片数据流 
Function getpic(url) 
on error resume next 
dim http 
set http=server.createobject("MSXML2.XMLHTTP")'使用xmlhttp的方法来获得图片的内容 
Http.open "GET",url,false 
Http.send() 
if Http.readystate<>4 then  
exit function 
end if 
getpic=Http.responseBody 
set http=nothing 
if err.number<>0 then 
 getpic = "服务器获取文件内容出错" 
 err.Clear  
End if 
End Function 
'打开文件(文本形式) 
Function OpenFile(fileurl)'文件相对路径 
 Dim Filename,fso,hndFile 
 Filename = fileurl 
 Filename = Server.MapPath(Filename) 
 Set objfso = CreateObject("Scripting.FileSystemObject") 
 If objfso.FileExists(Filename) Then 
  set hndFile = objfso.OpenTextFile(Filename) 
  OpenFile = hndFile.ReadAll 
 Else 
  OpenFile = "文件读取错误" 
 End If 
 Set hndFile = Nothing 
 Set objfso = Nothing 
End Function  
'获得文件的后缀名 
function getFileExtName(fileName) 
dim pos 
pos=instrrev(filename,".") 
if pos>0 then 
getFileExtName=mid(fileName,pos+1) 
else 
getFileExtName="" 
end if 
end function 
%> 


Dim fso,f,folder 
    Set fso=Server.CreateObject("scripting.filesystemobject") 
    '改目录名 
    Set folder=fso.getfolder(Server.Mappath("Old")) 
    folder.name="New" '新名字 
    '改文件名 
    Set f=fso.getfile(Server.Mappath("Old.asp")) 
    f.name="New.asp" '新名字 
'释放 


<%    
function copyfile(l1,l2)'复制文件  
    on error resume next    
    dim fs    
    set fs=createobject("Scripting.FileSystemObject")    
        fs.copyfile server.mappath(l1),server.mappath(l2)    
    set fs=nothing    
    if err.number<>0 then err.clear    
end function
copyfile("db1.mdb","db2.mdb")    
%> 


 


FSO操作全集
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO组件可以被fso


变量调用
getfso=fso.DriveExists("g:\") '判断指定硬盘驱动器是否存在
getfso=fso.GetDrive("c:") '创建自定义的FSO驱动器对象
getfso=fso.GetDriveName("c:\网络程序员伴侣") '返回文件夹的所在盘符
Set getfso=fso.Drives '创建FSO驱动器集合对象,多配合for each i in 
getfso语句进行穷尽操作,支持所有[驱动器对象属性],并具有Count和Item属性


Set fso=Nothing '释放fso变量与FSO组件的连接资源
</script>


驱动器对象操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO组件可以被fso变量调用
getfso=fso.GetDrive("c:").FileSystem '返回驱动器对象的文件系统类型
getfso=fso.GetDrive("c:").DriveType '返回驱动器对象的驱动器类型,返回值范围0-5
getfso=fso.GetDrive("c:").DriveLetter '返回驱动器对象的字母
getfso=fso.GetDrive("c:").IsReady '返回指定驱动器是否准备好或是否损坏
getfso=fso.GetDrive("c:").SerialNumber '返回驱动器对象的唯一十进制卷标序号
getfso=fso.GetDrive("c:").ShareName '返回驱动器对象的网络共享名
getfso=fso.GetDrive("c:").VolumeName '返回驱动器对象的卷标名,同时也可以设置其卷标名
getfso=fso.GetDrive("c:").Path '返回驱动器的实际路径,如c:\则返回c:
getfso=fso.GetDrive("c:").RootFolder '返回驱动器对象的跟文件夹
getfso=fso.GetDrive("c:").AvailableSpace'返回驱动器对象的可用容量大小
getfso=fso.GetDrive("c:").FreeSpace '返回驱动器对象的剩余空间大小
getfso=fso.GetDrive("c:").TotalSize '返回驱动器对象的总空间容量大小


Set fso=Nothing '释放fso变量与FSO组件的连接资源
</script>


系统文件夹操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO组件可以被fso变量调用
getfso=fso.GetFolder("c:\") '创建自定义的FSO文件夹对象
getfso=fso.FolderExists("e:\网络程序员伴侣") '判断指定文件夹是否存在
getfso=fso.GettempName '随机返回WINDOW产生在temp文件夹中的临时文件
getfso=fso.GetparentFolderName("e:\网络程序员伴侣") '返回指定文件夹的父文件夹
fso.CreateFolder "c:\windows\新创建的文件夹路径及名称"
fso.MoveFolder "c:\windows\许移动或改名的文件夹","c:\windows\移动路径和新的文件夹名"
fso.DeleteFolder "c:\windows\要删除的目录名",false/true
fso.CopyFolder "c:\windows\须复制的目录名","c:\windows\得到付值内容的目录名",false/true
Set getfso=fso.Folders '创建FSO文件夹集合对象,多配合for each i in getfso语句进行穷尽操作,支持所有[文件夹对象属性],并具有Count和Item属性,具有AddFolders方法
Set getfso=fso.Files '创建FSO文件夹内文件集合对象,多配合for each i in getfso语句进行穷尽操作,支持所有[文件对象属性],并具有Count和Item属性
Set fso=Nothing '释放fso变量与FSO组件的连接资源</script>


文件夹对象操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO组件可以被fso变量调用
getfso=fso.GetFolder("c:\windows").Name '返回文件夹的名字,这里返回WINDOW
getfso=fso.GetFolder("c:\windows").ShortName '返回文件夹[8.3]格式的名称
getfso=fso.GetFolder("c:\windows").Attributes '返回文件夹的属性,可返回0,1,2,4,8,16,32,64,128
getfso=fso.GetFolder("c:\windows").Size '返回文件夹(包括子文件夹)内文件占用空间大小
getfso=fso.GetFolder("c:\windows").Type '返回文件夹类型信息
getfso=fso.GetFolder("c:\windows").Path '返回文件夹的真实路径
getfso=fso.GetFolder("c:\windows").ShortPath '返回文件夹[8.3]格式的路径
getfso=fso.GetFolder("c:\windows").Drive '返回文件夹所在驱动器
getfso=fso.GetFolder("c:\windows").Files.count '返回文件夹包含的所有文件对象集合
getfso=fso.GetFolder("c:\windows").SubFolders.count '返回文件夹包含的所有子文件夹的对象集合
getfso=fso.GetFolder("c:\windows").ParentFolder '返回文件夹的父文件夹对象
getfso=fso.GetFolder("c:\windows").IsRootFolder '返回文件夹是否为跟文件夹,是返回true否返回false
getfso=fso.GetFolder("c:\windows").DateCreated '返回文件夹的最初创建时间
getfso=fso.GetFolder("c:\windows").DateLastAccessed '返回文件夹最后一次访问时间
getfso=fso.GetFolder("c:\windows").DateLastModified '返回文件夹最近修改的时间
fso.GetFolder("c:\windows").CreateTextFile "新建的文件名及后缀",true/false,true/false
fso.GetFolder("c:\windows\要删除的目录名").Delete true
fso.GetFolder("c:\windows\要移动改名的目录名").Move "文件夹将要移动到的路径及自定义文件夹名称"
fso.GetFolder("c:\windows\旧目录").Copy "复制到路径",true/false '在指定路径付值此文件夹,true=覆盖,false相反
Set fso=Nothing '释放fso变量与FSO组件的连接资源</script>


系统文件操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO组件可以被fso变量调用
getfso=fso.GetFile("c:\windows\help.html") '得到文件完整路径
getfso=fso.GetFileName("c:\windows\help.html") '得到文件名称和后缀
getfso=fso.GetExtensionName("c:\windows\help.html") '得到文件的文件类型(后缀),不含小数点
getfso=fso.FileExists("c:\windows\文件名.html") '判断文件是否存在
fso.MoveFile "要移动及改名的原文件路径","移动到某路径及自定义新文件名"
fso.DeleteFile "c:\windows\要删除的文件所在路径",false/true
fso.CopyFile "c:\windows\须复制的旧文件.txt","c:\windows\复制后的文件名.jpg",false/true
fso.OpenTextFile "c:\windows\desktop\要打开操作的文件名称.txt",1/2/8,true/false,0/-1/-2 'ForReading=1=只读方式,ForWriting=2=可写方式,ForAppending=8=追加方式.true=如果打开的文件不存在则创建该文件.TristateFalse=0=以系统默认方式打开,TristateTrue=-1=以Unicode格式打开文件,TristateUseDefaule=-2=以ASCLL格式打开文件(缺剩值)
fso.CreateTextFile "c:\windows\desktop\新建的文件名称.txt",false/true,false/true '前者true覆盖以存在同名文件,后者为true新文件将以Unicode方式创建,反之=结果相反
Set fso=Nothing '释放fso变量与FSO组件的连接资源
</script>


文件对象操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO组件可以被fso变量调用
getfso=fso.GetFile("c:\windows\笔记本.txt").Name '返回文件对象的名称包含后缀
getfso=fso.GetFile("c:\windows\笔记本.txt").ShortName '返回文件对象的[8.3]名称包含后缀
getfso=fso.GetFile("c:\windows\笔记本.txt").Attributes '返回文件对象的属性,可返回0,1,2,4,8,16,32,64,128
getfso=fso.GetFile("c:\windows\笔记本.txt").Size '返回文件对象的大小
getfso=fso.GetFile("c:\windows\笔记本.txt").Type '返回文件对象的类型
getfso=fso.GetFile("c:\windows\笔记本.txt").Path '返回文件对象的完整路径
getfso=fso.GetFile("c:\windows\笔记本.txt").ShortPath '返回文件对象的[8.3]的完整路径
getfso=fso.GetFile("c:\windows\笔记本.txt").Drive '返回此文件对象所在的驱动器
getfso=fso.GetFile("c:\windows\笔记本.txt").ParentFolder '返回文件对象所在的文件夹
getfso=fso.GetFile("c:\windows\笔记本.txt").DateCreated '返回文件对象的创建日期
getfso=fso.GetFile("c:\windows\笔记本.txt").DateLastAccessed '返回文件对象的最后访问日期
getfso=fso.GetFile("c:\windows\笔记本.txt").DateLastModified '返回文件对象的最后修改时间
fso.GetFile("c:\windows\笔记本.txt").Copy "复制到的路径和文件名",true/false
fso.GetFile("c:\windows\笔记本.txt").Delete true
fso.GetFile("c:\windows\笔记本.txt").Move "移动到的路径及自定义文件名
Set fso=Nothing '释放fso变量与FSO组件的连接资源
</script>


文件对象读写操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO组件可以被fso变量调用
set link1=fso.GetFile("c:\windows\笔记本.txt").OpenAsTextStream(1/2/8,0/-1/-2)
open1=link1.AtendOfline '判断文件指针是否以在行的末尾
open2=link1.AtendOfstream '判断文件指针是否一再文件的末尾
open3=link1.Column '返回当前字符所在文件的列号
open4=link1.Line '返回当前字符所在文件的行号
open5=link1.Read(10) '读取文件中指定数量的字符
open6=link1.ReadAll '读取文件中所有的字符
open7=link1.ReadLine '读取文件中一行中含有的字符
open8=link1.Write "字符串" '将自定字符串或字符串变量写入文件
open9=link1.WriteLine "字符" '将自定字符+一个换行符写入文件
open10=link1.WriteBlankLines 10 '将指定数量的换行符写入文件
open11=link1.Skip 10 '使文件指针跳过指定数量的字符
open12=link1.SkipLine '使文件指针跳到下一行
link1.Close '文件操作完毕,销毁文件对象指针
Set fso=Nothing '释放fso变量与FSO组件的连接资源

</script>


---------------------------------------------------------------------------

js 例子 for 遍历目录


<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
<script>  
var filesList = new Array();  
var filesIndex = 0;  
var fso = new ActiveXObject("Scripting.FileSystemObject");  
function searchFilesList(filePath){  
    var f = fso.GetFolder(filePath);  
    // 遍历目录  
    var fk = new Enumerator(f.SubFolders);  
    for (; !fk.atEnd(); fk.moveNext()) {  
        filesList[filesIndex++] = fk.item();  
        searchFilesList(fk.item());  
    }  
    // 遍历目录文件  
    var fc = new Enumerator(f.files);  
    for (; !fc.atEnd(); fc.moveNext()) {  
        filesList[filesIndex++] = fc.item();  
    }  
}  
function searchFiles(){  
    searchFilesList(fixfolder.value);  
    // 循环信息信息  
    for (var i=0; i<filesList.length; i++){
alert(filesList[i]);
        textarea.innerHTML += filesList[i]+"<br>";  
    }  
}  
</script>  
</head>  
<body bgcolor="#FFFFFF">  
Traversal Path:<input type="text" name="fixfolder" value ="D:\">  
<input type="button" value ="Search" οnclick="searchFiles()">  
<table >  
<tr>  
<td id = "textarea">  
</td>  
</tr>  
</table>  
  
</body>  
</html>  

---------------------------------------------------------------------------






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值