2

vb.net の 1 つのディレクトリにあるすべてのディレクトリを検索したいと考えています。

私は1つのスクリプトを見つけました:

For Each Dir As String In Directory.GetDirectories(FolderName)
    ComboBox3.Items.Add(Dir)
Next

パスのフルネームを返しますが、パスの名前だけを返したいです。

4

5 に答える 5

6

最も簡単な方法は、次を使用することSystem.IO.DirectoryInfoです。

    For Each Dir As String In System.IO.Directory.GetDirectories(FolderName)
        Dim dirInfo As New System.IO.DirectoryInfo(Dir)
        ComboBox3.Items.Add(dirInfo.Name)
    Next

(明らかに、手動で解析して最後の '\' に続くテキストを抽出することもできますが、上記の方が読みやすいと思います)

于 2013-07-10T10:25:54.473 に答える
1

これを使用して、ディレクトリ名のみを取得します。

dirName = IO.Path.GetDirectoryName(fullPath)
于 2013-07-10T10:28:57.007 に答える
1

ディレクトリのフルネームの先頭String.Replaceから削除するのが最も簡単な方法だと思います。FolderName

For Each Dir As String In System.IO.Directory.GetDirectories(FolderName)
    ComboBox3.Items.Add(Dir.Replace(FolderName, String.Empty))
Next
于 2013-07-10T10:26:43.110 に答える
0

これを試してみてください

    For Each d As String In IO.Directory.GetDirectories(FolderName)
        'IO.Path.GetFileName
        'The characters after the last directory character in path.
        ComboBox3.Items.Add(IO.Path.GetFileName(d))
    Next

これは、ディレクトリのリストを持っているという事実と、IO.Path.GetFileName が実際に行うことを利用しています。

于 2013-07-10T11:00:50.983 に答える