/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
FSO: Slette fil hvis den er 3mdr gammel...
Fra : Kenneth Auchenberg


Dato : 11-05-03 14:23

heyza
Jeg sidder her og prøver på at lave en script som skal slette
mine filer, hvis de er 3 mdr gamle..

her er min kode:
*<%
*Dim fso,folder,files
*Set fso = Server.CreateObject("Scripting.FileSystemObject")
*Set folder = fso.GetFolder(Server.MapPath("/pub/files/"))
*Set files = folder.Files
*%>
*<%
*For Each file in Files
*If file.DateCreated = now-3 then
*folder.delete.file(file.name)
*response.write ("Filen:" & file.name & " blev slettet<br>")
*else
*   response.write ("Der blev ikke slettet nogle fil<br>")
*end if
*next

Den vil ikke slette mine filer...jeg får bare beskeden: Der blev
ikke slettet nogle fil
*%>


Hvad har jeg gjort forkert?

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (11-05-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 11-05-03 16:19

Kenneth Auchenberg skrev:

> Jeg sidder her og prøver på at lave en script som skal slette
> mine filer, hvis de er 3 mdr gamle..

Hvad nu hvis filerne er ældre end 3 måneder - skal de så også
slettes?

> *For Each file in Files
> *If file.DateCreated = now-3 then

I øjeblikket sletter du kun filer der har tidsmærkatet now-3. Jeg
er faktisk ikke sikker på hvad now-3 giver - men jeg tror ikke at
det er dags dato minus tre måneder (snarere tre dage, men jeg er
ikke sikker). Prøv at udskrive selve sammenligningen, så du kan se
hvilke værdier der egentlig arbejdes med.

Du kan også omskrive if-sætningen så den i stedet bruger funktionen
DateDiff. Det vil i mine øjne gøre kriteriet lidt tydeligere:

   If DateDiff("m", file.DateCreated, Now) >= 3 Then
       ' slet filen
   Else
       ' slet ikke filen
   End If

> *next

NB: Er der nogen speciel grund til at du sætter "*" foran dine
kodelinjer? Det gør det besværligt at teste dem - og de bliver
heller ikke lettere at læse.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste