Šta je novo?

VB brisanje fajlova u subfolderima

MaNiAcK

Čuven
Učlanjen(a)
11.02.2003
Poruke
223
Poena
619
Ovako, imam jedan dir (npr. d:\sve\) i u njemu jos 3-4 dira. U svima njima se nalazi po neki recimo *.bmp file. Treba mi komanda koja ce da obrise sve te fajlove ako joj ja zadam putanju d:\sve\ znaci da pregleda i subfolders ako me kontate. Inace nije nikakav virus u pitanju ili nesto slicno vec jedan program za pustanje zike pravi neke temp fajlove u folderu gde se pustana pesma nalazi, a meni se smucilo da ih brisem rucno. ako mu kazem kill "d:\sve\*.scn" on ne gleda subfoldere... help!
 
Ukljuci u reference Microsoft Scripting Runtime
Kod:
    Dim fso As New FileSystemObject
    Dim fld As Folder
    Dim subf As Folders
    Dim f As File
    Dim fls As Files
    
    Set fld = fso.GetFolder("D:\Sve")
    Set subf = fld.SubFolders
    For Each fld In fld.SubFolders
        Set fls = fld.Files
        For Each f In fls
            If Right(f.Name, 3) = "scn" Then f.Delete
        Next f
    Next fld
 
Hvala, ali imam jedan problem: sta ako i subfolderi imaju sobfoldere?
 
Onda napravis neku rekurzivnu funkciju koja istrazuje podfoldere. Posto sam sintaksu VB-a solidno zaboravio, evo ti "algoritam" pa ti prevedi u bejzik:

Kod:
funkcija KillEmAll (Path as string)
{
     nekirezultat = Dir (Path + "\*.*");
     while nekirezultat <> neka_konstanta_koja_oznacava_da_nema_vise_fajlova
          ako je atribut nadjenog fajla = direktorijum onda KillEmAll (Path + "\" + nadjen fajl);
          u suprotnom obrisi nadjen fajl;
     wend;
}

ovo uspesno koristim u delphiju, ali kao sto rekoh skroz sam zaboravio sintaksu VB-a...
 
Nazad
Vrh Dno