Avatar billede hehlers Nybegynder
10. april 2008 - 15:32 Der er 9 kommentarer og
1 løsning

Listet filer fra den nyeste folder

Hejsa

Jeg har en stump kode som henter den sidste redigerede folder i en bestemt folder.
Nu vil jeg så gerne have listet alle filerne i den folder.

Jeg har prøvet med dette her. Den nyeste folder bliver fint fundet, men filerne kan jeg ikke rigtig få listet:

-------------------------
<%
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = fso.GetFolder(Server.MapPath("/galleri/"))
Set subfolders = Folder.SubFolders

strNewestFolder = "\"
strNewestFolderDate = "\"
for each Folder in Folder.SubFolders
    strLastEdited = folder.DateLastModified
    strFolderName = Folder.Name
    if strNewestFolder = "\" then
        strNewestFolder = strFolderName
        strNewestFolderDate = strLastEdited
    else
        'if Datediff("n\", Now, strLastEdited) > Datediff("n\", Now, strNewestFolderDate) then
        '    strNewestFolder = strFolderName
        '    strNewestFolderDate = strLastEdited
        'end if
    end if
next

Response.Write strNewestFolder
Response.Write (".....Edited last: " & strNewestFolderDate)

for each File in StrNewestFolder
%>
<%=File.Name%><br />


<%
next
Set StrNewestFolder = nothing
Set fso = Nothing
%>

mvh

Henrik
Avatar billede w13 Novice
10. april 2008 - 15:35 #1
Lister den slet ikke filerne eller giver den fejl?
Avatar billede Slettet bruger
10. april 2008 - 15:43 #2
for each File in StrNewestFolder.files
  'Print the name of all files in the test folder
  Response.write(File.Name & "<br />")
next
Avatar billede hehlers Nybegynder
11. april 2008 - 10:35 #3
Jeg får en fejl. - Også med dit eksempel jape44. Den nyeste redigerede mappe bliver godt nok udskrevet, men når jeg vil have listet filerne fra den mappe, får jeg fejlen:

Object required: '2005_02_general_rast'

i denne linie her:

for each File in StrNewestFolder.files
Avatar billede w13 Novice
11. april 2008 - 11:03 #4
Nå ja, du kan vel ikke bare skrive mappenavnet. Det skal jo være en FileSystemObject-sti til den mappe.

Set NewestFolder = Folder.GetFolder(Server.MapPath("/galleri/"&StrNewestFolder))
for each File in NewestFolder.files
Avatar billede hehlers Nybegynder
11. april 2008 - 11:20 #5
Jeg får desværre stadig fejlen "object required" i denne linie her:
------------------
Set NewestFolder = Folder.GetFolder(Server.MapPath("/galleri/"&StrNewestFolder))
------------------

I får lige hele min kode, som den ser ud nu.

------------------------
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = fso.GetFolder(Server.MapPath("/galleri/"))
Set subfolders = Folder.SubFolders

strNewestFolder = "\"
strNewestFolderDate = "\"
for each Folder in Folder.SubFolders
    strLastEdited = folder.DateLastModified
    strFolderName = Folder.Name
    if strNewestFolder = "\" then
        strNewestFolder = strFolderName
        strNewestFolderDate = strLastEdited
    else
       
    end if
next

Response.Write strNewestFolder
Response.Write (".....Edited last: " & strNewestFolderDate)

Set NewestFolder = Folder.GetFolder(Server.MapPath("/galleri/"&StrNewestFolder))
for each File in NewestFolder.files
  'Print the name of all files in the test folder
  Response.write(File.Name & "<br />")
next

Set StrNewestFolder = nothing
Set fso = Nothing
Avatar billede w13 Novice
11. april 2008 - 11:26 #6
Ret:
Set NewestFolder = Folder.GetFolder(Server.MapPath("/galleri/"&StrNewestFolder))
til:
Set NewestFolder = Server.CreateObject("Scripting.FileSystemObject").GetFolder(Server.MapPath("/galleri/"&StrNewestFolder))
Avatar billede Slettet bruger
11. april 2008 - 12:01 #7
denne .ASP kode virker her:

<%
    Dim fso
    Dim Folder
    Dim File
    Dim subfolders
    Dim NewestFolder
    Dim strNewestFolder
    Dim strNewestFolderDate
    Dim strLastEdited
    Dim strFolderName
   
    fso = Server.CreateObject("Scripting.FileSystemObject")
    Folder = fso.GetFolder(Server.MapPath("/asptest/"))
    subfolders = Folder.SubFolders

strNewestFolder = "\"
strNewestFolderDate = "\"
for each Folder in Folder.SubFolders
    strLastEdited = folder.DateLastModified
    strFolderName = Folder.Name
    if strNewestFolder = "\" then
        strNewestFolder = strFolderName
        strNewestFolderDate = strLastEdited
    else
     
    end if
next

    Response.Write(strNewestFolder)
Response.Write (".....Edited last: " & strNewestFolderDate)

    NewestFolder = Server.CreateObject("Scripting.FileSystemObject").GetFolder(Server.MapPath("/asptest/" & StrNewestFolder))
    'NewestFolder = Folder.GetFolder(Server.MapPath("/asptest/" & StrNewestFolder))
for each File in NewestFolder.files
  'Print the name of all files in the test folder
  Response.write(File.Name & "<br />")
next

    strNewestFolder = Nothing
    fso = Nothing
%>
Avatar billede hehlers Nybegynder
11. april 2008 - 12:44 #8
Tusind tak begge to. Smider i et svar, så deler jeg point.

Håber det er ok?

God weekend
Avatar billede w13 Novice
11. april 2008 - 12:47 #9
:)
Avatar billede Slettet bruger
14. april 2008 - 08:07 #10
det er ok, fordel dem bare til w13
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