ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
連想配列に順次階層をためる ( No.3 )
日時: 2008/04/29 01:26
名前: lightbox



この処理では、AllDirectories オプションで一度に取得できますが、
他の階層構造データで、不可能な場合の方法の一つ。
リモートの FTP ディレクトリの全ての階層のファイルを取得するのに使えます

Imports System.IO

Module Module1

	Sub Main()

		Dim target As String = "C:\Documents and Settings\lightbox\My Documents"

		Dim dir As New Dictionary(Of Integer, String)
		Dim dir_name As String = ""
		Dim dir_cnt As Integer = 1
		Dim idx_cnt As Integer = 1
		dir.Add(dir_cnt, target)

		Dim subFolders As String()
		Do While (True)

			subFolders = Directory.GetDirectories( _
			  dir(idx_cnt), _
			  "*", _
			  SearchOption.TopDirectoryOnly _
			)
			For Each dir_name In subFolders
				dir_cnt += 1
				dir.Add(dir_cnt, dir_name)
				Console.WriteLine(dir_name)
			Next

			idx_cnt += 1
			If Not dir.TryGetValue(idx_cnt, dir_name) Then
				Exit Do
			End If

		Loop

		Console.ReadLine()

	End Sub

End Module