asp中fso读取并显示出指定目录下的文件
我需要实现以下功能asp中使用fso显示/robots/中所有的文件并显示在当前页面例如20080501.txt20080502.txt20080503.txt20080...
我需要实现以下功能
asp中使用fso显示/robots/中所有的文件并显示在当前页面
例如
20080501.txt
20080502.txt
20080503.txt
20080504.txt
...
点击这些文件时,会弹出新窗口打开/robots/文件名.txt
给出相关代码 展开
asp中使用fso显示/robots/中所有的文件并显示在当前页面
例如
20080501.txt
20080502.txt
20080503.txt
20080504.txt
...
点击这些文件时,会弹出新窗口打开/robots/文件名.txt
给出相关代码 展开
2个回答
展开全部
编码ing
又仔细看了下你的问题。。。
修改ing
之前没完全看懂你意思的代码:
会读取所有网站根文件夹/robots/的所有.txt文件内容输出。
很强大,不过不是你想要的。呵呵
(代码1):
<%
Sub AllFiles(dirPath)
On Error Resume Next
if right(dirPath,1)<>"\" then dirPath=dirPath&"\"
Set FSO = CreateObject("scripting.filesystemobject")
Set f = FSO.GetFolder(dirPath)
Set fs = f.files
For Each fileN in fs
if right(fileN.name,4)=".txt" then OneFile( dirPath&fileN.name&"" )
Next
'如果子目录也要的话就把下弄注释去除
'Set fsubfolers = f.SubFolders
'For Each dir in fsubfolers
'DN=dirPath&dir.name&"\"
'AllFiles DN
'Next
Set FSO = Nothing
End sub
Sub OneFile(FN)
On Error Resume Next
Set FSO = CreateObject("scripting.filesystemobject")
Set tfile=FSO.opentextfile(FN,1,-2)
response.write "<br><br><hr>"&FN&"<br><br>"
response.write "<pre>"&Server.HTMLEncode(tfile.readall())&"</pre>"
tfile.Close
set tfile=nothing
Set FSO = Nothing
End sub
AllFiles(server.mappath("/robots/"))
%>
你想要的(代码2):
<%
Sub AllFiles(dirPath)
On Error Resume Next
if right(dirPath,1)<>"\" then dirPath=dirPath&"\"
Set FSO = CreateObject("scripting.filesystemobject")
Set f = FSO.GetFolder(dirPath)
Set fs = f.files
dim url
For Each fileN in fs
'使用严格的正则表达式来检查输出的文件名及文件类型
if RegExpfind("\d{8}\.txt",fileN.name) then
'获得相对网站根路径的绝对根路径
url=replace(replace(dirPath&fileN.name,server.mappath("\"),""),"\","/")
if left(url,1)<>"/" then url="/"&url
response.write "<a href='"&url&"'>"&fileN.name&"</a>"
end if
Next
Set FSO = Nothing
End sub
Function RegExpfind(patrn, strng)
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = True
RegExpfind = regEx.Test(strng)
End Function
AllFiles(server.mappath("/robots/"))
%>
PS:以上两个代码测试无错
如果要读其它类型的文件,参照代码1改写代码2,或百度消息我。。
说实话,就程序本身而言。你的分不高,也不是最重要的,呵呵。
乐于助人的心最重要
对回答有问题,或认为不妥,百度消息我。
(在消息的内容里加上问题的网址哦)
`
又仔细看了下你的问题。。。
修改ing
之前没完全看懂你意思的代码:
会读取所有网站根文件夹/robots/的所有.txt文件内容输出。
很强大,不过不是你想要的。呵呵
(代码1):
<%
Sub AllFiles(dirPath)
On Error Resume Next
if right(dirPath,1)<>"\" then dirPath=dirPath&"\"
Set FSO = CreateObject("scripting.filesystemobject")
Set f = FSO.GetFolder(dirPath)
Set fs = f.files
For Each fileN in fs
if right(fileN.name,4)=".txt" then OneFile( dirPath&fileN.name&"" )
Next
'如果子目录也要的话就把下弄注释去除
'Set fsubfolers = f.SubFolders
'For Each dir in fsubfolers
'DN=dirPath&dir.name&"\"
'AllFiles DN
'Next
Set FSO = Nothing
End sub
Sub OneFile(FN)
On Error Resume Next
Set FSO = CreateObject("scripting.filesystemobject")
Set tfile=FSO.opentextfile(FN,1,-2)
response.write "<br><br><hr>"&FN&"<br><br>"
response.write "<pre>"&Server.HTMLEncode(tfile.readall())&"</pre>"
tfile.Close
set tfile=nothing
Set FSO = Nothing
End sub
AllFiles(server.mappath("/robots/"))
%>
你想要的(代码2):
<%
Sub AllFiles(dirPath)
On Error Resume Next
if right(dirPath,1)<>"\" then dirPath=dirPath&"\"
Set FSO = CreateObject("scripting.filesystemobject")
Set f = FSO.GetFolder(dirPath)
Set fs = f.files
dim url
For Each fileN in fs
'使用严格的正则表达式来检查输出的文件名及文件类型
if RegExpfind("\d{8}\.txt",fileN.name) then
'获得相对网站根路径的绝对根路径
url=replace(replace(dirPath&fileN.name,server.mappath("\"),""),"\","/")
if left(url,1)<>"/" then url="/"&url
response.write "<a href='"&url&"'>"&fileN.name&"</a>"
end if
Next
Set FSO = Nothing
End sub
Function RegExpfind(patrn, strng)
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = True
RegExpfind = regEx.Test(strng)
End Function
AllFiles(server.mappath("/robots/"))
%>
PS:以上两个代码测试无错
如果要读其它类型的文件,参照代码1改写代码2,或百度消息我。。
说实话,就程序本身而言。你的分不高,也不是最重要的,呵呵。
乐于助人的心最重要
对回答有问题,或认为不妥,百度消息我。
(在消息的内容里加上问题的网址哦)
`
展开全部
<%
folderspec=server.MapPath("/robots") '服务器相对路径.
Dim fso,f,f1,fc,s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(folderspec)
Set fc = f.Files
For Each f1 in fc
s = f1.name
response.Write ("<a href='/robots/"&s&"' target='_blank'>"&s&"</a><br>") '/robots/路径是相对服务路径修改
Next
%>
folderspec=server.MapPath("/robots") '服务器相对路径.
Dim fso,f,f1,fc,s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(folderspec)
Set fc = f.Files
For Each f1 in fc
s = f1.name
response.Write ("<a href='/robots/"&s&"' target='_blank'>"&s&"</a><br>") '/robots/路径是相对服务路径修改
Next
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询