Detta medelande är till Vide i förstahand, men om någon annan kan hjälpa till så går det också bra:
du gjorde skriptet:
<%
'***** Specifierar sökvägen till filerna, lokalt och via HTTP *****
http = "http://intranet/server"
lokal = Server.Mappath("..\server\")
'***** Skapar FSO-objektet och hämtar in alla filer från sökvägen *****'
Set fso = CreateObject("scripting.FileSystemObject")
Set fsof = fso.GetFolder(lokal)
Set fsofi = fsof.files
'***** Skapar ett Regular Expression *****'
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True
'***** Loopar igenom alla filer i katalogen *****'
For Each fil in fsofi
'***** Öppnar filen och lägger allt innehåll i variabelnn filecont *****'
Set filen = fso.OpenTextFile(lokal & "\" & fil.name)
filecont = filen.ReadAll
'***** Letar upp positionen för textsträngen <title> *****'
regEx.Pattern = "<title>"
Set Matches = regEx.Execute(filecont)
For each match1 in Matches
pos1 = Match1.FirstIndex+8
exit For
Next
'***** Letar upp positionen för textsträngen </title> *****'
regEx.Pattern = "</title>"
Set Matches2 = regEx.Execute(filecont)
For each match2 in Matches2
pos2 = Match2.FirstIndex
exit For
Next
'***** Bryter ut all text mellan <title> och </title> *****'
title_text = pos2 - pos1
title = Mid(filecont,pos1,title_text+1)
'***** Skriver ut en länk till filen med titeln som länknamn *****'
Response.write "<a href='" & http & "/" & fil.name & "'>" & title & "</a><br>"
Next
%>
Men de listar alla .htm filer i mappen, men ja skulle gärna villja veta hur man gör för att lista alla .zip, och .exe -filer, skulle du kunna hjälpa mig med det ?
Har fixat till det lite... har inte testat det än, och det är taget direkt ur huvudet så inga garantier...
Du lägger till/tar bort ur exts-listan (exts = Split("zip,exe",",")), så om du vill lägga till .md2-filer så lägger du bara till det i listan:
exts = Split("zip,exe,md2",",")
<%
'***** Specifierar sökvägen till filerna, lokalt och via HTTP *****
exts = Split("zip,exe",",")
http = "http://intranet/server"
lokal = Server.Mappath("..\server\")
'***** Skapar FSO-objektet och hämtar in alla filer från sökvägen *****'
Set fso = CreateObject("scripting.FileSystemObject")
Set fsof = fso.GetFolder(lokal)
Set fsofi = fsof.files
'***** Skapar ett Regular Expression *****'
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True
'***** Loopar igenom alla filer i katalogen *****'
For Each fil in fsofi
For i = 0 To Ubound(exts)
If Cstr(Right(fil,3)) = Cstr(exts(i)) then
access = true
End If
Next
If access then
'***** Öppnar filen och lägger allt innehåll i variabelnn filecont *****'
Set filen = fso.OpenTextFile(lokal & "\" & fil.name)
filecont = filen.ReadAll
'***** Letar upp positionen för textsträngen <title> *****'
regEx.Pattern = "<title>"
Set Matches = regEx.Execute(filecont)
For each match1 in Matches
pos1 = Match1.FirstIndex+8
exit For
Next
'***** Letar upp positionen för textsträngen </title> *****'
regEx.Pattern = "</title>"
Set Matches2 = regEx.Execute(filecont)
For each match2 in Matches2
pos2 = Match2.FirstIndex
exit For
Next
'***** Bryter ut all text mellan <title> och </title> *****'
title_text = pos2 - pos1
title = Mid(filecont,pos1,title_text+1)
'***** Skriver ut en länk till filen med titeln som länknamn *****'
Response.write "<a href='" & http & "/" & fil.name & "'>" & title & "</a><br>"
End If
access = false
Next
%>
Tyvärr fungerade det inte... så ja ber dig att hjälpa mej att fixa till det, fick följande felmedelande..:
----------------------------------
Körningsfel i Microsoft VBScript fel '800a003e'
Indata överskrider filslut
/server/grejen.asp, rad 26
----------------------------------
Listar du filer med fler bokstäver i 'extension' än tre? För jag har inte gjort den dynamisk på det sättet...
Men felmeddelandet tyder ju på något helt annat, jag använder ju taggarna <title> och </title> för att bestämma dokumentets namn, det kan inte vara det som spökar? Att du inte har någon av dessa taggar menar jag...
<%
dim fso,mapp,fil,tla
set fso=Server.CreateObject("Scripting.FileSystemObject")
set mapp=fso.GetFolder(server.mappath("/din_mapp"))
for each fil in mapp.Files
tla = right(fil,3)
if tla = "zip" or tla = "exe" Then
response.write "<a href='" & fil.name & "'>" & fil.name & "</a><br>"
End If
next
set fil=Nothing
set mapp=Nothing
set fso=Nothing
%>