Avatar billede jens Nybegynder
28. februar 2001 - 23:50 Der er 35 kommentarer og
2 løsninger

Slet alle ( *.jpg ) filer i dir, med FSO

Hvordan er det nu man sletter, f.eks., alle JPG filer i et Dir ?

Jens
Avatar billede brain Nybegynder
28. februar 2001 - 23:52 #1
vha. et fileSystemObject....finder lige et eksempel...
Avatar billede brain Nybegynder
28. februar 2001 - 23:53 #2
Sub DeleteAFile(filespec)
  Dim fso
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  fso.DeleteFile(filespec)
End Sub

Avatar billede gchris5 Praktikant
28. februar 2001 - 23:54 #3
kunne evt. bruge stifinder. højreklikke og vælge \" arranger ikoner\" herunder \"efter type\" vælg den først.  hold shift nede og vælg den sidste af jpg-filerne. Tryk delete?!?
Avatar billede brain Nybegynder
28. februar 2001 - 23:54 #4
bare kald med

DeleteAFile(\"*.jpg\")
Avatar billede brain Nybegynder
28. februar 2001 - 23:55 #5
mine svar er jo i ASP.....håber det er det du leder efter, ellers

del *.jpg i en kommandoprompt....
Avatar billede gchris5 Praktikant
28. februar 2001 - 23:55 #6
hvorfor læser jeg altid kun halvdelen af spørgsmålene???? (lettere rød i hovedet:-) )
Avatar billede gchris5 Praktikant
28. februar 2001 - 23:56 #7
tror det er 3. gang i denne uge jeg svare på et spørgsmål poster det og SÅ får læst hvad der egentlig står.......  Kan være jeg bare skal gå i seng.... :-)
Avatar billede brain Nybegynder
28. februar 2001 - 23:58 #8
man er for stresset fordi man ved at der er 40 andre der har et svar, og man vil komme får dem.....
Avatar billede brain Nybegynder
28. februar 2001 - 23:58 #9
før dem....:)
Avatar billede gchris5 Praktikant
01. marts 2001 - 00:02 #10
kunne være de (admin) skulle lave en lille konkurrence herinde..... Ugens dummeste svar.....

eller bare lave en ekstra side med de \"guldkorn\" der findes her omkring..... Det ville blive lidt i stil med www.guld.dk!!
Avatar billede brain Nybegynder
01. marts 2001 - 00:05 #11
Det kommer vist til at kræve at brugerne indstiller nogle indlæg, ellers bliver det nok for krævende at scanne igennem for Andreas og Jacob.... Men egentlig en OK ide...
Avatar billede jens Nybegynder
01. marts 2001 - 00:11 #12
gchris5>> Det ville helt klart være det nemmeste at markere dem, og så trykke på Delete - problemet er bare at jeg så skal have fat i et MEGET LANGT kabel til mit tastaur !! ;-)

Brain>>

Hvordan vil du sætte dit forslag ind her:

Set fso = CreateObject(\"Scripting.FileSystemObject\")

  Set f2 = fso.GetFile (\"\"& stImage_in &\"\")

  f2.Move stImage_in2
 
  Set f3 = fso.DeleteAFile(\"*.jpg\")
 
  f3.Delete
 
set fso = nothing

Har prøvet lidt, men det virker ikke ...

Jens
Avatar billede gchris5 Praktikant
01. marts 2001 - 00:15 #13
Jeg har ellers en forlængerledning til mit gamle tastatur!!  Den må du gerne låne!!!

:-)
Avatar billede brain Nybegynder
01. marts 2001 - 00:18 #14
Hvordan vil du sætte dit forslag ind her:

Set fso = CreateObject(\"Scripting.FileSystemObject\")

  Set f2 = fso.GetFile (\"\"& stImage_in &\"\")

  f2.Move stImage_in2
 
  DeleteAFile(\"*.jpg\")
 
set fso = nothing
Avatar billede brain Nybegynder
01. marts 2001 - 00:19 #15
og så har du sub\'en længere oppe...
Avatar billede brain Nybegynder
01. marts 2001 - 00:19 #16
Sub DeleteAFile(filespec)
  Dim fso
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  fso.DeleteFile(filespec)
End Sub


Set fso = CreateObject(\"Scripting.FileSystemObject\")

Set f2 = fso.GetFile (\"\"& stImage_in &\"\")

f2.Move stImage_in2
 
DeleteAFile(\"*.jpg\")
 
set fso = nothing

Avatar billede jens Nybegynder
01. marts 2001 - 00:25 #17
Microsoft VBScript runtime error \'800a0035\'

File not found

Det er her den går gal:
  fso.DeleteFile(filespec)
Avatar billede kasseper Nybegynder
01. marts 2001 - 08:34 #18
Jeg tror ikke at du kan bruge et joker tegn her brain !!!!
Men du kan da lave et loop der sletter de filer du har brug for:

Function DeleteFilesInFolder(folderspec)
  Dim fso, f, f1, fc, s
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.Files
  For Each f1 in fc
  if f1.type = \"jpg\" then
  f1.Delete
  Next
End Function


Du kan så kalde DeleteFilesInFolder med en sti som string til det dir som du gerne vil slette .jpg filer i. Jeg ved ikke om det virker helt, men princippet er godt nok....

Avatar billede kasseper Nybegynder
01. marts 2001 - 08:36 #19
Elle måske skal det jo nok væer en sub...
Sub DeleteFilesInFolder(folderspec)
  Dim fso, f, f1, fc, s
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.Files
  For Each f1 in fc
  if f1.type = \"jpg\" then
  f1.Delete
  Next
End Sub



Avatar billede jens Nybegynder
01. marts 2001 - 09:00 #20
skal det sættes sådan her op ??

Sub DeleteFilesInFolder(folderspec)
  Dim fso, f, f1, fc, s
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  Set f = fso.GetFolder(\"d:\\www2\\domain\\billede\\\")
  Set fc = f.Files
  For Each f1 in fc
  if f1.type = \"jpg\" then
  f1.Delete
  Next
End Sub

og

call DeleteFilesInFolder

Jeg får denne fejl her:

Microsoft VBScript compilation error \'800a041f\'

Unexpected \'Next\'

flytfile.asp, line 13

Next
^

Avatar billede kasseper Nybegynder
01. marts 2001 - 09:04 #21
Hov...:

Sub DeleteFilesInFolder(folderspec)
  Dim fso, f, f1, fc, s
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  Set f = fso.GetFolder(\"d:\\www2\\domain\\billede\\\")
  Set fc = f.Files
  For Each f1 in fc
  if f1.type = \"jpg\" then
  f1.Delete
  End if
  Next
End Sub

Du kalder så subben sådan her f.eks.

DeleteFilesInFolder(\"c:/windows/\")

Avatar billede jens Nybegynder
01. marts 2001 - 09:17 #22
kasseper>> nu sker der ingen ting ?? - ingen fejl, ingen slettede filer ?

Avatar billede kasseper Nybegynder
01. marts 2001 - 09:25 #23
OK, hæng lige på så prøver jeg lige engang....
Avatar billede kasseper Nybegynder
01. marts 2001 - 09:33 #24
Prøv denne her :
Sub DeleteFilesInFolder(folderspec)
  Dim fso, f, f1, fc, s
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.Files
  For Each f1 in fc
  response.write f1.type & \"<br>\"
  if f1.type = \"JPEG Image\" then
  f1.Delete
  End if
  Next
End Sub

DeleteFilesInFolder(\"d:\\www2\\domain\\billede\\\")
Avatar billede kasseper Nybegynder
01. marts 2001 - 09:36 #25
Hov jeg skulle lige ha fjernet noget inden...:

Sub DeleteFilesInFolder(folderspec)
  Dim fso, f, f1, fc, s
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  Set f = fso.GetFolder(folderspec)
  Set fc = f.Files
  For Each f1 in fc
  if f1.type = \"JPEG Image\" then
  f1.Delete
  End if
  Next
End Sub

DeleteFilesInFolder(\"d:\\www2\\domain\\billede\\\")
Avatar billede jens Nybegynder
01. marts 2001 - 12:16 #26
Hej igen kasseper 

Desværer giver det samme resultat :-( - Intetn sker, intet slettet ??
Avatar billede kasseper Nybegynder
01. marts 2001 - 12:50 #27
Jamen det virker hos mig.
Er det på din egen maskine du tester eller har du et webhotel et sted...?
Avatar billede jens Nybegynder
01. marts 2001 - 13:06 #28
Det er et webhotel jeg kører det på !!

Hvordan sætter du det helt nøjagtig op med stierne ?? - folderspec.
Avatar billede kasseper Nybegynder
01. marts 2001 - 13:26 #29
Er det evt. et gratis webhotel det ligger på, jeg skal sige dig at mange webhoteller især de gratis webhoteller der findes der ude på det store net, har slået brugen af FSO, fra.
Men du kan f.eks. hente stien til en fil på serveren sådan her :
MyFile = Server.mappath(\"minfil.asp\")
Avatar billede jens Nybegynder
01. marts 2001 - 13:33 #30
Det er ikke et gratis hotel, og jeg har før lavet sletning af een fil af gange - det var ikke noget problem.

Er der ikke stien til en folder jeg skal angive ?

Hvordan har du sat din op til det du kører derhjemme/på din server ?

Jens

Avatar billede kasseper Nybegynder
01. marts 2001 - 13:47 #31
du kan kalde funktionen sådan her hvis du står i det bibl. som skal slettes i....

Dim myPath,hvor
myPath = StrReverse(server.mappath(\"MyFile.asp\"))
hvor = Len(myPath) - Instr(1,myPath,\"\\\",1) + 1
myPath = Left(StrReverse(myPath),hvor)

DeleteFilesInFolder(myPath)

Du skal bare erstatte MyFile.asp med dit eget filnavn

Avatar billede jens Nybegynder
01. marts 2001 - 13:59 #32
hehe, nu er jeg altså helt tabt :-(

Det der problemet er at jeg har en masse jpg\'er og asp filer i et bibl. Når jeg forlader det bibl. skal der kopiers een bestemt jpg over i et andet bibl. og resten skal slettes - men ikke de asp filer der ligger der.

Jeg har fået det ordnet sådan at der kopieres osv. - men ikke det med at slette.

flere point ?? ;-) - jeg er jo lidt krævende ..... eller måske langsomt opfattende...

Jens
Avatar billede kasseper Nybegynder
01. marts 2001 - 14:03 #33
Ja flere point ville jo være rart, det er jo også kun til 15...tsk.
ANYWAY, så bare sæt det ind jeg har skrevet.

Det den gør, er jo bare at hive stien til folderen ud af den absolutte sti, og kalde DeleteFilesInFolder med den sti, og DeleteFilesInFolder er jo lavet sådan at den kun slette alle de jpg filer der ligger i det bibliotek.
Avatar billede kasseper Nybegynder
01. marts 2001 - 14:03 #34
Eller så paste al din kode her, så skal jeg sætte det ind...:)
Avatar billede jens Nybegynder
02. marts 2001 - 08:17 #35
Tjaa, jeg må paste - kan ikke få det til at virke :-(

Udgangpunktet var det her:

Set fso = CreateObject(\"Scripting.FileSystemObject\")

  Set f2 = fso.GetFile (\"\"& stImage_in &\"\")

  f2.Move stImage_in2
 
\'saa sletter vi alle jpg filer i dir
 
  Set f3 = fso.DeleteAFile(\"*.jpg\")
 
  f3.Delete
 
set fso = nothing

Avatar billede jens Nybegynder
02. marts 2001 - 08:17 #36
Point sat til 60 ! ok, oder skal der mere på ?
Avatar billede jens Nybegynder
02. marts 2001 - 14:48 #37
Fandt selv noget:

Set oFileSys = Server.CreateObject(\"Scripting.FileSystemObject\")
Set oFolder = oFileSys.GetFolder(\"foldername\")
For Each oFile In oFolder.Files
sFileName = oFile.Name
If(LCase(Right(sFileName,4)) = \"jpeg\" Or LCase(Right(sFileName,3)) = \"jpg\") Then
oFile.Delete
End If
Next

Point til brain og kasseper

God weekend
Jens
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