WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   ASP DeleteFile med wildcards (https://www.wn.se/forum/showthread.php?t=19667)

MikaelS 2007-02-28 11:46

Hej,

Jag vill ta bort ett gäng filer som börjar med samma filnamn (olika antal filer varje gång), därför vill jag ta bort dem med ett. För att det ska fungera måste jag använda den fullständiga sökvägen (går ej att använda mapPath). Filerna kan heta t.ex: "filnamn1_1_1.txt", "filnamn1_2_2.ocr" etc.

Det blir ett felmeddelande när funktionen körs (att filen inte hittas) - alla filer blir borttagna, men felmeddelandet kommer i alla fall!?

För att komma vidare kan jag lägga in en "On Error Resume next" och "On Error GoTo 0". Om jag kör detta i en funktion kan jag i IIS5 köra funktionen i en loop (alla filer tas bort). Men när jag kör samma kod på en nyare server (IIS6) tas endast de första filerna bort (första varvet i loopen).

Har det med versionerna att göra, eller kan det vara något annat "rättighetsmässigt" som strular?

Kod:

function delFiles(id_name)

    '----- Tar bort filer
    On Error Resume next
    fs.DeleteFile("c:\inetpub\wwwroot\utdata\" & id_name & "*.*")
    On Error GoTo 0

end function


'----- Går igenom varje filnamn
for i=0 to UBound(fileArr)

    '-- fileArr ser ut som: Array("filnamn1","filnamn2","filnamn3")


    '----- Till funktion för att ta bort filer
    Call delFiles(fileArr(i))

next


eg0master 2007-02-28 13:01

ASP exekverar på servern och påverkas därför rimligen inte av browserversioner. Felet måste bero på något annat än att det är olika browserversioner. Är verkligen fileArr korrekta i båda fallen till exempel?

MikaelS 2007-02-28 13:27

Tack för svar.

Med IIS-versionerna menar jag IIS på servern. Inte IE som browser.
I min kod är det en Array med filnamn som loopas och anropar en funktion (delete-funktionen).

eg0master 2007-02-28 14:08

hm, sorry att jag i förbifarten läste IIS som IE.

Du skriver att "första filerna" tas bort "dvs första varvet i loopen", men din exempelkod indikerar ju bara att en enda fil i så fall borde tas bort?

Och om arrayen ser ok ut så är väl det möjligt att det är et behörighetsproblem som du antyder. Ligger filerna på samma ställe?


Alla tider är GMT +2. Klockan är nu 05:20.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson