高分求一段读取文件属性的代码。

hndsome007 2005-11-02 05:08:46
架构,A,B服务器,在一个局域网内:
1)要求能读取A服务器某个文件夹下所有子文件夹(比如B,C,E),得到各个子文件夹下的子文件(比如B文件的a,b,c三个子文件)的属性,比如创建时间,使用时间,访问时间,文件类型,位置,大小等,并将这些项插入数据库;
2)获得数据库这些文件的属性,在B服务器中已网页形式显示:
一周内:B,C,E下文件数目的排名;

B,C,E下文件的访问次数排名;

B,C,E下文件的变化情况。
...全文
113 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hndsome007 2005-11-21
  • 打赏
  • 举报
回复
分已给
hndsome007 2005-11-03
  • 打赏
  • 举报
回复
谢谢大家,我实现好了再来散分
jspadmin 2005-11-02
  • 打赏
  • 举报
回复
<%
dirname="1"
fpath=Server.MapPath(".")
set fso=server.createobject("scripting.filesystemobject")
response.write "目录1是否存在:"
response.write(fso.folderexists(fPath & "\" & dirname))
response.write "<br>"
set fso=nothing
%>

<%
dirname="1"
fpath=Server.MapPath(".")
dir=fPath & "\" & dirname
set fso=server.createobject("scripting.filesystemobject")
set a=fso.getfolder(dir)
response.write "目录1的路径为:" & a & "<br>"
response.write ("根目录为:" & fso.getfolder("\") & "<br>")
response.write (fso.getfolder(".\") & "<br>")
'response.write (fso.getfolder("..\") & "<br>")
response.write (fso.getfolder(".") & "<br>")
response.write (fso.getfolder("/") & "<br>")
response.write (fso.getfolder("./") & "<br>")
'response.write (fso.getfolder("../") & "<br>")
'response.write (fso.getfolder("..") & "<br>")
'response.write (fso.getfolder("...") & "<br>")
set a=nothing
set fso=nothing
%>

<%
set fso=server.createobject("scripting.filesystemobject")
response.write "驱动器C是否存在:"
response.write(fso.DriveExists("c"))
response.write "<br>"
set fso=nothing
%>

<%
set fso=server.createobject("scripting.filesystemobject")
set a=fso.getdrive("c")
response.write "对象指向驱动器C:"
response.write a
response.write "<br>"
set a=nothing
set fso=nothing
%>

<%
fname="1.txt"
fpath=Server.MapPath(".")
filepath=fPath & "\" & fname
set fso=server.createobject("scripting.filesystemobject")
set opentxt=fso.opentextfile(filepath)
'opentxt.skipline
'opentxt.writeblanklines 1
'opentxt.write "这是第3行"
'opentxt.writeline "这是第3行"
'opentxt.writeblanklines 3
'opentxt.writeline "这是第7行"
'opentxt.writeline "这是第8行"
response.write("以下是1.txt的内容:")
response.write("<br><br>")
'下面相当于response.write(opentxt.readall)
while not opentxt.atendofstream
response.write(opentxt.readline)
response.write("<br>")
wend
opentxt.close
response.write("<hr size=""1"" noshade>")
set opentxt=nothing
set fso=nothing
%>

<%
fpath=Server.MapPath(".")
set fso=server.createobject("scripting.filesystemobject")
set myfiles=fso.getfolder(fpath)
set f=myfiles.files
response.write ("本目录下共有" & f.count & "个文件<br>")
set g=f.item("1.txt")
response.write ("通过g=myfiles.item取得的文件名:" & g.name &"<br>")
for each g in f
response.write ("此目录下有文件:" & g.name & "<br>")
next
set f=nothing
set myfiles=nothing
set fso=nothing
response.write("<hr size=""1"" noshade>")
%>

<%
fpath=Server.MapPath(".")
set fso=server.createobject("scripting.filesystemobject")
set myfolder=fso.getfolder(fpath)
set dir=myfolder.subfolders
response.write ("本目录下共有" & dir.count & "个文件夹<br>")
for each folder in dir
response.write ("此目录下有文件:" & folder.name & "<br>")
next
set dir=nothing
set myfolder=nothing
set fso=nothing
response.write("<hr size=""1"" noshade>")
%>

<%
drv="c"
set fso=server.createobject("scripting.filesystemobject")
set df=fso.getdrive(drv)
response.write "下面将显示驱动器" & drv & "的详细信息:<br>"
response.write("磁盘的总容量:" & df.totalsize & "字节" & "<br>")
response.write("磁盘可用空间:" & df.availablespace & "字节" & "<br>")
response.write("磁盘剩余空间:" & df.freespace & "字节" & "<br>")
response.write("磁盘盘符为:" & df.driveletter & "<br>")
response.write("磁盘类型为(1为移动,2为固定):" & df.drivetype & "<br>")
response.write("磁盘的文件系统为:" & df.filesystem & "<br>")
response.write("磁盘的路径为:" & df.path & "<br>")
response.write("磁盘的根目录为:" & df.rootfolder & "<br>")
response.write("磁盘的序列号为:" & df.serialnumber & "<br>")
response.write("磁盘的卷标为:" & df.volumename & "<br>")
response.write("磁盘是否准备好(软驱是否已经插入软盘):" & df.isready & "<br>")
response.write("网络驱动器(如果是的话)的共享名为:" & df.sharename & "<br>")
set df=nothing
set fso=nothing
%>
----------------------------------------------------------------------------------
欢迎光临我的小站(提供免费博客申请):http://www.pifoo.com

jspadmin 2005-11-02
  • 打赏
  • 举报
回复
再给你些fso的参考资料,可都是俺辛苦整理的哦:
<%
'filesystemobject 对象的方法列表
'buildpath,copyfile,copyfolder,createtextfile,createfolder
'deletefile,deletefolder,driveexists,fileexists,folderexists
'getabsolutepathname,getbasename,getdrive,getdrivename
'getextensionname,getfile,getfilename,getfolder,getparentfoldername,getspecialfolder
'gettempname,movefile,movefolder,opentextfile
'----------------------------------------------------------------------
'file、folder对象的方法
'set fso=server.createobject("scripting.filesystemobject")
'set e=fso.getfile(filepath)
'set d=fso.getfolder(dir)
'e.copy 目的地址,是否覆盖(true|false)
'e.delete 是否删除只读文件
'e.move 原文件地址,目的文件地址名字
'e.openastextstream 打开方式(1只读,2只写,8追加),编码格式(0 ASCII,-1 Unicode,-2 系统默认编码格式)
%>
<%
dim fso,ds
set fso=server.createobject("scripting.filesystemobject")
set ds=fso.drives
response.write("下面将显示服务器上所有驱动器名:<br><br>")
for each drive in ds
response.write ("服务器驱动器:" &drive.driveletter&"<br>")
next
set ds=nothing
set fso=nothing
response.write("<hr size=""1"" noshade>")
%>

<%
dim mytxt,fname,fpath
fname="1.txt"
'.表示当前目录
fpath=Server.MapPath(".")
set fso=server.createobject("scripting.filesystemobject")
'参数说明:第一个true表示覆盖已有同名文件,否则为不覆盖;
'第个false表示创建格式为ASCII格式,如果true则为Unicode
set mytxt=fso.createtextfile(fPath & "\" & fname,true,false)
mytxt.write "此处为写入1.txt中的内容"&chr(13)
mytxt.close
response.write "当前目录下建立新文件1.txt并写入成功<br>"
set mytxt=nothing
set fso=nothing
%>

<%
fname="1.txt"
fpath=Server.MapPath(".")
fpath=fPath & "\" & fname
set fso=server.createobject("scripting.filesystemobject")
set mytxt=fso.opentextfile(fPath,8,true,-2)
'参数说明:8读取+追加(1读取,2写入),true文件不存在时创建新文件,-2系统默认格式ASCII(0为ASCII
'-1为Unicode格式
response.write "打开指定文件1.txt成功<br>"
mytxt.write(request.servervariables("remote_host"))
mytxt.close
set mytxt=nothing
set fso=nothing
response.write "写入客户端ip到指定文件1.txt成功<br>"
%>

<%
fname="1.txt"
fpath=Server.MapPath(".")
set fso=server.createobject("scripting.filesystemobject")
response.write "文件1.txt是否存在:"
response.write(fso.fileexists(fPath & "\" & fname))
response.write "<br>"
set fso=nothing
%>

<%
dim a
fname="1.txt"
fpath=Server.MapPath(".")
filepath=fPath & "\" & fname
set fso=server.createobject("scripting.filesystemobject")
set a=fso.getfile(filepath)
response.write "<hr size=""1"" noshade>"
response.write "文件的路径为:" & a.path & "<br>"
response.write "文件的名称为:" & a.name & "<br>"
response.write "文件的所在盘符为:" & a.drive & "<br>"
response.write "文件的大小为:" & a.size & "<br>"
response.write "文件的类型为:" & a.type & "<br>"
response.write "文件的属性为:" & a.attributes & "<br>"
response.write "文件的创建日期为:" & a.datecreated & "<br>"
response.write "文件的最后访问日期为:" & a.datelastaccessed & "<br>"
response.write "文件的最后修改日期为:" & a.datelastmodified & "<br>"
response.write "文件所属文件夹名称为:" & a.parentfolder & "<br>"
response.write "文件的短名字格式名称为:" & a.shortname & "<br>"
response.write "文件的短名字格式下路径为:" & a.shortpath & "<br>"
response.write "文件的扩展名为:" & fso.getextensionname(filepath) & "<br>"
response.write "文件的基本名为:" & fso.getbasename(filepath) & "<br>"
response.write "文件的绝对路径名称为:" & fso.getabsolutepathname(filepath) & "<br>"
response.write "文件所在驱动器名称为:" & fso.getdrivename(filepath) & "<br>"
response.write "返回一个随机的临时文件名:" & fso.gettempname() & "<br>"


response.write "<hr size=""1"" noshade>"
set a=nothing
set fso=nothing
%>

<%
dim md
dirname="1"
fpath=Server.MapPath(".")
set fso=server.createobject("scripting.filesystemobject")
if fso.FolderExists(fPath & "\" & dirname)=true then
fso.DeleteFolder(fPath & "\" & dirname)
response.write "该目录存在,已经成功删除<br>"
end if
set md=fso.createfolder(fPath & "\" & dirname)
response.write "当前文件夹建立目录1成功<br>"
set md=nothing
set fso=nothing
%>

<%
fpath=Server.MapPath(".")
dir=fPath
set fso=server.createobject("scripting.filesystemobject")
set a=fso.getfolder(dir)
response.write "<hr size=""1"" noshade>"
response.write "下面将显示当前文件夹的详细信息:<br>"
response.write "该文件夹的绝对路径为:" & a.path & "<br>"
response.write "该文件夹的名称为:" & a.name & "<br>"
response.write "该文件夹的所在盘符为:" & a.drive & "<br>"
response.write "该文件夹及所有子文件夹和文件占用空间的大小为:" & a.size & "字节<br>"
response.write "该文件夹的类型为:" & a.type & "<br>"
response.write "该文件夹的属性为:" & a.attributes & "<br>"
response.write "该文件夹的创建日期为:" & a.datecreated & "<br>"
response.write "该文件夹的最后访问日期为:" & a.datelastaccessed & "<br>"
response.write "该文件夹的最后修改日期为:" & a.datelastmodified & "<br>"
response.write "该文件夹的上级文件夹名称为:" & a.parentfolder & "<br>"
response.write "该文件夹的短名字格式名称为:" & a.shortname & "<br>"
response.write "该文件夹的短名字格式下路径为:" & a.shortpath & "<br>"
response.write "此文件夹是否为根目录:" & a.isrootfolder & "<br>"
response.write "<hr size=""1"" noshade>"
set a=nothing
set fso=nothing
%>

jspadmin 2005-11-02
  • 打赏
  • 举报
回复
其实,这里头最难的是遍历文件夹,至于文件属性,那些东西可以查找相关资料,很容易找到的,写入数据库也简单,排名什么的都很容易实现。下面给出我写的遍历文件夹代码
<%
'递归算法简单示例,递归遍历指定目录下所有文件和子目录中的文件
set fso = createobject("scripting.filesystemobject")
response.write "指定目录下所有文件及所有子目录下文件显示如下:" & "<br>"
iterate(server.mappath("D:\test"))
function iterate(path)
dim folder, folders, files, file
set folder = fso.getfolder(path)
set files = folder.files
for each file in files
response.write file.name & "<br>"
next
set folders = folder.subfolders
for each f in folders
iterate f.path
next
end function
set fso=nothing
%>
dh20156 2005-11-02
  • 打赏
  • 举报
回复
MICROSOFT脚本中心的WMI参考:
Private Sub Command1_Click()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
("Select * from CIM_Datafile Where name = 'F:\\user(2005)\\haitian\\stock\\rkd\\step_add.asp'")
For Each objFile In colFiles
MsgBox "Access mask: " & objFile.AccessMask
MsgBox "Archive: " & objFile.Archive
MsgBox "Compressed: " & objFile.Compressed
MsgBox "Compression method: " & objFile.CompressionMethod
MsgBox "Creation date: " & objFile.CreationDate
MsgBox "Computer system name: " & objFile.CSName
MsgBox "Drive: " & objFile.Drive
MsgBox "8.3 file name: " & objFile.EightDotThreeFileName
MsgBox "Encrypted: " & objFile.Encrypted
MsgBox "Encryption method: " & objFile.EncryptionMethod
MsgBox "Extension: " & objFile.Extension
MsgBox "File name: " & objFile.FileName
MsgBox "File size: " & objFile.FileSize
MsgBox "File type: " & objFile.FileType
MsgBox "File system name: " & objFile.FSName
MsgBox "Hidden: " & objFile.Hidden
MsgBox "Last accessed: " & objFile.LastAccessed
MsgBox "Last modified: " & objFile.LastModified
MsgBox "Manufacturer: " & objFile.Manufacturer
MsgBox "Name: " & objFile.Name
MsgBox "Path: " & objFile.Path
MsgBox "Readable: " & objFile.Readable
MsgBox "System: " & objFile.System
MsgBox "Version: " & objFile.Version
MsgBox "Writeable: " & objFile.Writeable
Next
End Sub
tigerwen01 2005-11-02
  • 打赏
  • 举报
回复
这个网址很详细http://www.microsoft.com/china/msdn/archives/library/dv_vstechart/html/vbtchUseFileStreamObject.asp
tigerwen01 2005-11-02
  • 打赏
  • 举报
回复
对文件或文件夹操作的脚本http://www.microsoft.com/china/technet/community/scriptcenter/filefolder/default.mspx
monkeyhjl 2005-11-02
  • 打赏
  • 举报
回复
用fso来实现吧。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧