Avatar billede no_doubt Nybegynder
04. november 2005 - 22:04 Der er 11 kommentarer og
1 løsning

svær fso sortering

Jeg har dette
<%   
                    Set fso = CreateObject("Scripting.FileSystemObject")
                    Set folderObject = fso.GetFolder(Server.MapPath("scripts"))
                    Set filer = FolderObject.Files
                    %>
                    <tr>
                        <td>
                            <div align="right">
                            <table border="0" width="95%" id="table3">
                            <%For Each File In filer%>
                                <tr>
                                    <td><a target="_blank" href="scripts/<%=File.name%>">
                                    <span style="text-decoration: none">
                                    <font face="Arial" size="2" color="#000000"><%=File.name%></font></span></a></td>
                                </tr>
                                <%next%>
                                </table>
                            </div>
                        </td>
                    </tr>   
                    <%
                    set fo=nothing
                    set fs=nothing
                    %>                   
                    <% end if %>

som lister alle filerne i en mappe, men hvordan får jeg lavet det således at kun asp filerne bliver vist ?
Avatar billede no_doubt Nybegynder
04. november 2005 - 22:06 #1
og html osv.
Avatar billede softspot Forsker
04. november 2005 - 22:09 #2
<%   
Set fso = CreateObject("Scripting.FileSystemObject")
Set folderObject = fso.GetFolder(Server.MapPath("scripts"))
Set filer = FolderObject.Files
%>
  <tr>
    <td>
      <div align="right">
        <table border="0" width="95%" id="table3">
          <%
          For Each File In filer
            if lcase(right(file.name,4)) = ".asp" then
          %>
          <tr>
            <td><a target="_blank" href="scripts/<%=File.name%>">
              <span style="text-decoration: none">
              <font face="Arial" size="2" color="#000000"><%=File.name%></font></span></a></td>
          </tr>
          <%
            end if
          next%>
        </table>
      </div>
    </td>
  </tr>   
<%
  set filer=nothing
  set folderObject=nothing
  set fso=nothing
end if
%>
Avatar billede no_doubt Nybegynder
04. november 2005 - 22:15 #3
hva med htm / html
Avatar billede no_doubt Nybegynder
04. november 2005 - 22:18 #4
hva så hvis man skal EXCLUDERE en mappe når man lister dem ?
Avatar billede no_doubt Nybegynder
04. november 2005 - 22:18 #5
løste selv det med htm
Avatar billede softspot Forsker
04. november 2005 - 22:23 #6
På samme måde... :)

Du kan også implementere en lidt mere skalerbar løsning, hvor du angiver de tilladte extensions i en streng som du så søger igennem med den aktuelle fil's extension (det er meningen at strAllow startes og sluttes med komma!).


<%   
strAllow = ",htm,html,asp,"

Set fso = CreateObject("Scripting.FileSystemObject")
Set folderObject = fso.GetFolder(Server.MapPath("scripts"))
Set filer = FolderObject.Files
%>
  <tr>
    <td>
      <div align="right">
        <table border="0" width="95%" id="table3">
          <%
          For Each File In filer
            extPos = instrRev(file.name,".")
            strExt = lcase(mid(file.name, extPos + 1))
            if instr(1, strAllow, "," & strExt & ",") > 0 then
          %>
          <tr>
            <td><a target="_blank" href="scripts/<%=File.name%>">
              <span style="text-decoration: none">
              <font face="Arial" size="2" color="#000000"><%=File.name%></font></span></a></td>
          </tr>
          <%
            end if
          next%>
        </table>
      </div>
    </td>
  </tr>   
<%
  set filer=nothing
  set folderObject=nothing
  set fso=nothing
end if
%>
Avatar billede no_doubt Nybegynder
04. november 2005 - 22:26 #7
hvordan kan man lave samme løsning hvor man kan angive hvilke mapper der ikke skal tages med.
Avatar billede softspot Forsker
04. november 2005 - 22:32 #8
Hvis du vil benytte eksklusion i stedet for inklusion skal du først og fremmest ændre denne if-sætning

if instr(1, strAllow, "," & strExt & ",") > 0 then

til

if instr(1, strAllow, "," & strExt & ",") = 0 then

Ud over det tror jeg faktisk du bare kan angive mapperne som du vil ekskludere i strAllow, da mapper ikke har extensions (under normale omstændigheder) og strExt i tilfælde af en mappe vil indeholde hele mappens navn... lidt gris, men ikke desto mindre tror jeg det fungerer.
Avatar billede no_doubt Nybegynder
04. november 2005 - 22:38 #9
tak ligger du et svar
Avatar billede softspot Forsker
04. november 2005 - 22:40 #10
Ja, det kommer her - velbekomme :)
Avatar billede no_doubt Nybegynder
04. november 2005 - 22:41 #11
`tak igen
Avatar billede softspot Forsker
04. november 2005 - 22:42 #12
...og tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester