Toon posts:

[vb.NET] door directories en subdirectories heen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig een proggie te maken die een bepaalde map kopieerd en alle submappen en files daarin naar een andere locatie.
Nu heb ik het zover dat wel de files in die directorie kan kopieren en in de 1e subdirectories maar niet voor de daarin zittende directories. Ik heb nu de volgde code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
 'Each directory
        For Each dir In Directory.GetDirectories(mijnDocumentenDir)

            Directory.CreateDirectory(backupPath + "\mijn documenten\" + Path.GetFileName(dir))

            For Each sub_dir In Directory.GetDirectories(mijnDocumentenDir + Path.GetFileName(dir))

                Directory.CreateDirectory(backupPath + "\mijn documenten\" + Path.GetFileName(dir) + "\" + Path.GetFileName(sub_dir))

            Next

        Next


Maar nu moet ik dus voor elke directorie laag dit doen, is dit niet te automatiseren, dat vb weet hoeveel submappen er in totaal zijn?

  • Remco
  • Registratie: Januari 2001
  • Laatst online: 21-05 08:21
Ik weet niet hoe het gaat, maar kan je niet opvragen hoeveel directories er zijn ?
Dan kan je :
code:
1
2
3
For i = 0 to aantal_sub_directories
  bladiebla
next

doen, en dan net zo lang......

Maar staat er geen stukje code op internet ?
Het lijkt mij niet dat je de eerste bent die dat wil doen.

The best thing about UDP jokes is that I don't care if you get them or not.


  • Blizard
  • Registratie: September 2001
  • Niet online
Je kan mss een recursieve functie proberen maken ?! Staat vast wel wat over in de search ! Principe : jezelf (functie) oproepen maar met een andere parameter

Verwijderd

Topicstarter
Dat laatste lijkt me ook een goed plan, maar wat bedoel je er precies mee. Hij moet toch ook weten hoe vaak hij moet door gaan.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
recursiviteit:

code:
1
2
3
4
5
6
7
8
public void loopdoordirectory( string dirname )
{
       kopieer_de_files();
       foreach( subdirectory in subdirsvandezedirectory)
       {
            loopdoordirectory(currdir);
       }
}

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ik heb het voorelkaar, maar nu blijft een bestand vast gehouden door een process nml outlook 2003 die hem vasthoud. BIj outlook 2000 kon je je afmelden en dan afsluiten dan werdt het .pst bestand weer vrij gegeven. Hoe moet dit in vb.NET en dan icm outlook 2003? Want als ik de pc opnieuw opstart en dan niet outlook laad dan werkt het wel.
Pagina: 1