Avatar billede johncleese Nybegynder
19. september 2008 - 17:46 Der er 9 kommentarer og
1 løsning

for lykke i en for lykke i en forlykke

ja lige lidt hjælp til en nybegynder
jeg er igang med at lave et script der sletter nogle filer og mapper og så har jeg laven 2 arrays en til mapperne som ikke må slettes og en til filerne som ikke må slettes. men den brokker sig over min for lykke., er der en der kan lure den ?

den kan ikke finde ud af den for lyke
For Each item In Filer
hvorfor ?


Set FSO = CreateObject("Scripting.FileSystemObject")
ShowSubfolders FSO.GetFolder("c:\TEMP1")

Sub ShowSubFolders(Folder)

Mapper=Array("mappe SLET ikke","mappe slet ikke 2")
Filer=Array("mappe SLET ikke","mappe slet ikke 2")
'Filer=Array("slettes ikke.txt", "slettes heller ikke.txt")

    For Each Subfolder in Folder.SubFolders

    For Each item In Mapper
        if item = Subfolder.name then
            msgbox Subfolder.name
        else


          Set folder = fso.GetFolder(Subfolder.Path)
          Set fileCollection = folder.Files
          For Each file In fileCollection 
            For Each item In Filer
                ' if filer = file then
            '    msgbox file
            '  end if
            next
          Next
        end if
 
    Next

    Next
End Sub
Avatar billede w13 Novice
19. september 2008 - 17:59 #1
Hvad lyder fejlen?
Avatar billede johncleese Nybegynder
19. september 2008 - 18:06 #2
ugyldig 'for' -løkkekontrolvariabel
kode: 800A0410
jeg bruger note pad til at lave koden da jeg ikk har nogen vbs editor
Avatar billede keysersoze Guru
19. september 2008 - 18:15 #3
det er i hvert fald en dårlig idé at benytte samme navn som, ja sin den selv siger, løkkekontrolvariabel - du bruger item-navnet både i "For Each item In Mapper" og "For Each item In Filer"
Avatar billede johncleese Nybegynder
20. september 2008 - 09:33 #4
nu spørger jeg lige dumt! hehe. kan man bruge et vilkårligt ord istedet for item da? skal man ikke bruge Item ?
Avatar billede keysersoze Guru
20. september 2008 - 09:44 #5
item er bare et variabelnavn - og hvad de skal hedde bestemmer du selv.
Avatar billede johncleese Nybegynder
20. september 2008 - 13:37 #6
ah okay tak. jeg havde lige misforstået den lille detalje :) jeg prøver lige af i moorgen aften så får du lige point :)
Avatar billede w13 Novice
27. september 2008 - 13:18 #7
Kommet videre?
Avatar billede collin Nybegynder
04. oktober 2008 - 16:12 #8
Her er en metode hvor du opretter en variabel <redder> der kan have to værdier - "ja"  eller "nej", og den sættes til "nej" ved opstart af scripten. De to løkker derefter sammeligne inholdet af Array 'Mapper' med inholdet af mappen C:\temp og hvor der er overenstemmelse skiftes værdien af <redder> fra "nej" til  "ja" så mappen springes over i sletningsprocessen.




    Dim ub
    redder ="nej"
    Mapper=Array("map2","map6","map9")
    ub = ubound(Mapper)
    Set FSO = CreateObject("Scripting.FileSystemObject")
    ShowSubfolders FSO.GetFolder("C:\Temp1")

    Sub ShowSubFolders(Folder)
        For Each Sf in Folder.SubFolders
        For mapperderikkeskalslettes = 0 to ub
            If(Sf.name = Mapper(mapperderikkeskalslettes)) then
            redder = "ja"
            end if
        Next
            If(redder = "nej") then
            msgbox Sf.name  ' Her ville du erstat msgbox med fso.DeleteFolder             kommandoen
        end if
        redder ="nej"
        Next
    End Sub
Avatar billede johncleese Nybegynder
24. juni 2011 - 13:45 #9
keysersoze  vil du have point skal jeg lige ku acceptere dit svar
Avatar billede keysersoze Guru
24. juni 2011 - 19:28 #10
svar :)
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