Avatar billede tipman Juniormester
08. januar 2004 - 13:52 Der er 1 kommentar og
1 løsning

Sammensætte filnavn og foldernavn

Jeg mangler en funktion i VB (noget FSO) som kan gøre følgende:

Jeg har en del underbiblioteker i H:\test, fx A og B. I A og B ligger filerne x og y. Jeg ønsker filerne omdøbt til A-x, A-y, B-x og B-y. Dernæst skal de flyttes et bibliotek op og bibliotekerne A og B skal slettes.

Jeg har et vilkårligt antal biblioteker i H:\test med hver et forskelligt antal filer.
Avatar billede martin_moth Mester
09. januar 2004 - 15:13 #1
Med lidt løkke-værk skulle det være klaret.

Du kan vist finde alle stupmerne på eksperten (fx. ved at omskrive en fil-søgnings-rutine), og så sætte dem sammen til noget du kan bruge. Har ikke lige tiden selv
Avatar billede atuin Nybegynder
04. februar 2004 - 22:17 #2
Denne her sku klare ærterne, bare kald FindDirs med "H:\test" som lPath...


Private Sub FindDirs(lPath As String)
Dim i As Long
Dim lDir As String
Dim lDirs() As String, nFile As Long
   
    If Right(lPath, 1) <> "\" Then lPath = lPath & "\"
   
    lDir = Dir(lPath & "*.", vbDirectory)
    Do While lDir <> ""
        If lDir <> "." And lDir <> ".." Then
            If GetAttr(lPath & lDir & "\") And vbDirectory = vbDirectory Then
                ReDim Preserve lDirs(nFile)
                lDirs(nFile) = lDir
                nFile = nFile + 1
            End If
        End If
        lDir = Dir
    Loop
   
    For i = 0 To nFile - 1
        FindAndMoveFiles lDirs(i), lPath
    Next

End Sub

Private Sub FindAndMoveFiles(lPath As String, MasterDir As String)
Dim lFile As String
Dim fs As Object

    Set fs = CreateObject("Scripting.FileSystemObject")

    lFile = Dir(MasterDir & lPath & "\*.*")
    Do While lFile <> ""
        If lFile <> "." And lFile <> ".." Then
            fs.movefile MasterDir & lPath & "\" & lFile, MasterDir & lPath & " - " & lFile
        End If
        lFile = Dir
    Loop
   
End Sub
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