/ 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 kriterie er opfyldt
Fra : Kenneth Auchenberg


Dato : 20-07-03 22:17

heyza

Jeg ønsker at lave en script, som går ned i min database. Tjekke
alle mine filenavne som står i databasen, hvis der så er en fil
på min server som ikke står i databasen, slettes den.

Nu har jeg selv prøvet at kode noget FSO:
<%   
'DB
strSQL = "SELECT * From Cars"
Set rs = Conn.Execute(strSQL)
%>

<%
'FSO
Dim fso
Dim folder
Dim files

Set fso    = Server.CreateObject("Scripting.FileSystemObject")
Set folder   = fso.getFolder(Server.MapPath("\images\"))
Set files   = folder.Files

For Each File In Files

If not rs("image") = file.Name Then
' Slet filen
files.delete(file.name)
End If
rs.movenext

next
%>

Når jeg kører denne kode får jeg denne fejlmedelse:
Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'files.delete'

/SuperFlyDK/script_delete.asp, line 17


Denne fejl betyder jo at jeg ikke kan bruge files som er filerne
i min mappe til at slette med.

Så hvad skal jeg s bruge/gøre?

På forhånd tak

--
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

 
 
Mikkel Egelund (20-07-2003)
Kommentar
Fra : Mikkel Egelund


Dato : 20-07-03 22:28


"Kenneth Auchenberg" <kenneth@thefatman.dk> wrote in message
news:bff0t9$5ko$1@sunsite.dk...
> heyza
>
> Jeg ønsker at lave en script, som går ned i min database. Tjekke
> alle mine filenavne som står i databasen, hvis der så er en fil
> på min server som ikke står i databasen, slettes den.
>
> Nu har jeg selv prøvet at kode noget FSO:
> <%
> 'DB
> strSQL = "SELECT * From Cars"
> Set rs = Conn.Execute(strSQL)
> %>
>
> <%
> 'FSO
> Dim fso
> Dim folder
> Dim files
>
> Set fso = Server.CreateObject("Scripting.FileSystemObject")
> Set folder = fso.getFolder(Server.MapPath("\images\"))
> Set files = folder.Files
>
> For Each File In Files
>
> If not rs("image") = file.Name Then
> ' Slet filen
> files.delete(file.name)
> End If
> rs.movenext
>
> next
> %>
>
> Når jeg kører denne kode får jeg denne fejlmedelse:
> Microsoft VBScript runtime error '800a01b6'
>
> Object doesn't support this property or method: 'files.delete'
>
> /SuperFlyDK/script_delete.asp, line 17
>
>
> Denne fejl betyder jo at jeg ikke kan bruge files som er filerne
> i min mappe til at slette med.
>
> Så hvad skal jeg s bruge/gøre?
>
> På forhånd tak
>
> --
> 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


>files.delete(file.name)

Du skal i stedet bruge:

fso.deletefile(path og filnavn)

/mikkel

http://spacerent.dk - Webhosting fra 49,-/md.



Kenneth Auchenberg (21-07-2003)
Kommentar
Fra : Kenneth Auchenberg


Dato : 21-07-03 21:30

heyza

Hvis jeg bruger denne kode:
<%   
'DB
strSQL = "SELECT * From Cars"
Set rs = Conn.Execute(strSQL)
%>

<%
'FSO
Dim fso
Dim folder
Dim files

Set fso    = Server.CreateObject("Scripting.FileSystemObject")
Set folder   = fso.getFolder(Server.MapPath("\images\"))
Set files   = folder.Files

For Each File In Files

If not rs("image") = file.Name Then
' Slet filen
fso.deletefile(Server.MapPath("\images\"& file.name))
End If
rs.movenext

next
%>

så får jeg denne fejl:
error '80020009'
Exception occurred.

/SuperFlyDK/script_delete.asp, line 20


og linie 20 er:
If not rs("image") = file.Name Then


Håber I kan hjælpe mig

--
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

Mikkel Egelund (21-07-2003)
Kommentar
Fra : Mikkel Egelund


Dato : 21-07-03 21:42


"Kenneth Auchenberg" <kenneth@thefatman.dk> wrote in message
news:bfhifc$273$1@sunsite.dk...
> heyza
>
> Hvis jeg bruger denne kode:
> <%
> 'DB
> strSQL = "SELECT * From Cars"
> Set rs = Conn.Execute(strSQL)
> %>
>
> <%
> 'FSO
> Dim fso
> Dim folder
> Dim files
>
> Set fso = Server.CreateObject("Scripting.FileSystemObject")
> Set folder = fso.getFolder(Server.MapPath("\images\"))
> Set files = folder.Files
>
> For Each File In Files
>
> If not rs("image") = file.Name Then
> ' Slet filen
> fso.deletefile(Server.MapPath("\images\"& file.name))
> End If
> rs.movenext
>
> next
> %>
>
> så får jeg denne fejl:
> error '80020009'
> Exception occurred.
>
> /SuperFlyDK/script_delete.asp, line 20
>
>
> og linie 20 er:
> If not rs("image") = file.Name Then
>
>
> Håber I kan hjælpe mig
>
> --
> 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



> If not rs("image") = file.Name Then

Prøv i stedet:

if rs("image")<>file.name then

og flyt så next op før rs.movenext


/mikkel

http://spacerent.dk - Webhosting fra 49,-/md.



Kenneth Auchenberg (22-07-2003)
Kommentar
Fra : Kenneth Auchenberg


Dato : 22-07-03 21:56

heyza Mikkel

Jeg brugte dine tips og ænderede lidt og så var den der:
<%   
'DB
strSQL = "SELECT * From Cars"
Set rs = Conn.Execute(strSQL)
%>

<%
'FSO
Dim fso
Dim folder
Dim files

Set fso    = Server.CreateObject("Scripting.FileSystemObject")
Set folder   = fso.getFolder(Server.MapPath("images"))
Set files   = folder.files

For Each File In files
'Hvis fil er forskellig fra database:
if rs("image") <> file.name Then
' Slet filen
fso.deletefile(Server.MapPath("images\"& file.name))
End If

rs.movenext

next
%>

--
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

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste