Avatar billede Jman Praktikant
10. september 2004 - 11:18 Der er 3 kommentarer og
1 løsning

fso. Finde ældste fil i en mappe

Jeg skal bruge et fso-script der kigger i en mappe efter den ældste fil. Den skal kunne vise filnavnet + dato for oprettelse
Avatar billede eagleeye Praktikant
10. september 2004 - 13:28 #1
Man kan lave noget som scanner igennem filerne sådan her. Den tjekke så hver fil om det er ældre end den ældste som den har fundet. FSO kan kun hente filer fra en folder og kan ikke selv finde ud af at sortere filerne så derfor er man nød til at lave det sådan den scanner igennem.


<% session.LCID=1030%>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<%

Set fso = CreateObject("Scripting.FileSystemObject")

fileDate = ""
fileName = ""
filePath = ""
function scanFiles (foldernavn)
  Set objFolder = fso.getFolder( foldernavn )
  Set objFiles = objFolder.Files

  for each file in objFiles
  'Filter så den kun tager biliede filer det kan du evt fjerne
  if instr(1,"bmp,gif,jpg,png,jpeg,tif",lcase(fso.GetExtensionName(file.name)))>0 then
    if isDate(fileDate) then
      if CDate(file.DateCreated) < CDate(fileDate) then
        fileDate = file.DateCreated
        fileName = file.name
        filePath = file.Path
      end if
    else
      fileDate = file.DateCreated
      fileName = file.name
      filePath = file.Path
    end if
  end if
  next
 
  Set objFolder = Nothing
  Set objFiles = Nothing
end function

' Her angiver du stien til hvor filerne ligger
relativSti = "/billeder/"
strPhysicalPath = Server.MapPath(relativSti)
call scanFiles (strPhysicalPath)

Response.Write "<br>"
Response.write "File : " & fileName & "<br>"
Response.write "Dato : " & fileDate & "<br>"

Set objFolder = Nothing
Set fso = Nothing
%>
</BODY>
</HTML>
Avatar billede Jman Praktikant
10. september 2004 - 13:52 #2
Tak, men jeg fandt et gammelt eksempelt og midificerede det :)
---
nu kunne jeg dog tænke mig minutforskellen mellem nu og creation-tid.. kan du hjælpe med den?

TmpLast = Cdate(StrLastFile)
TmpDate = now()
TempDatediff = datediff("n",TempDate,TmpLast)
response.write TempDatediff

giver:
10-09-2004 13:52:16
10-09-2004 13:52:18
resultat: 55066432
Avatar billede eagleeye Praktikant
10. september 2004 - 13:59 #3
du har kaldt variablen: TempDate med e i DateDiff linjen med TmpDate uden e hvor den sætte = Now() måske derfor:)

Men prøv også at bytte de to datoer så det ikke giver et minus tal

TmpLast = Cdate(StrLastFile)
TmpDate = now()
TempDatediff = datediff("n",TmpLast,TmpDate)
response.write TempDatediff
Avatar billede Jman Praktikant
10. september 2004 - 14:03 #4
øv altså - at sidde og stirre sig blind på sådan noget.. thanx
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