19. september 2008 - 17:46Der 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
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"
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
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.