2013/11/11(Mon) 12:24:25 編集(投稿者)
■No68744 (sogood さん) に返信
> フォルダパスを出力する物なのですが、階層数を指定したいのですが可能でしょうか。
> 現状ですと、最下位のパスまで表示されますが、3階層までとか指定したいのですが。
> 宜しくお願い致します。
>
> Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
> Dim targetDir As String = "C:\netdata"
> Dim strDirs As New List(Of String)
> Dim t_data As String = ""
> GetSubDirectories(targetDir, strDirs)
ここを
GetSubDirectories(targetDir, strDirs, 0)
として
> Dim St As String
> For Each St In strDirs
> t_data = t_data & St & Environment.NewLine
> Next
> MsgBox(t_data)
> End Sub
>
> Private Sub GetSubDirectories(ByVal DirPath As String, ByRef Dirs As List(Of String))
ここを
Private Sub GetSubDirectories(ByVal DirPath As String, ByRef Dirs As List(Of String), Level As Integer)
として
> For Each strDir As String In System.IO.Directory.GetDirectories(DirPath)
> Dirs.Add(strDir)
> GetSubDirectories(strDir, Dirs)
ここを
IF Level < 2 Then
GetSubDirectories(strDir, Dirs, Level + 1)
End If
> Next strDir
> End Sub
とすると良いと思います。試していないので動きに合わせて調整してみて下さい。
階層数を指定するならもうひとつ引数を増やすと良いです。