2010-04-17 33 views
0

在vb.net你如何檢查是否一個目錄中存在的任何目錄如何檢查是否有目錄存在不知道具體的目錄名,而僅僅是文件夾,該文件夾可能是

我會需要知道c:\ windows目錄中是否有文件夾(不知道是否有ANY目錄)。

+0

根據作者提交的代碼,我將其標記爲家庭作業。它看起來像這是第1層的訓練。 – mattbasta 2010-04-19 00:35:02

+0

http://meta.stackexchange.com/questions/34503/should-the-possible-homework-tag-be-discouraged @mat – 2010-04-23 01:49:53

回答

3

所以你想檢查目錄中是否有子目錄?足夠公平:

Dim hasSubDirectories as Boolean = My.Computer.FileSystem.GetDirectories(parentDir).Count > 0 
+0

請看最後的帖子,我做了它一個答案,所以你可以看到即將使用的新代碼。我的問題是,我不能將directoryInfo轉換爲字符串 – steve 2010-04-17 02:53:21

1

您可以在System.IO名稱空間內使用DirectoryInfo類。

實施例:

Dim path As String = "C:\Windows" 
    Dim directoryInfo As New DirectoryInfo(path) 

    Dim dirInfos() As DirectoryInfo = directoryInfo.GetDirectories() 

    If (dirInfos.Length > 0) Then 
     ' you have directories, do what you want 
    End If 

    'or iterate over directories 

    For Each dirInfo As DirectoryInfo In dirInfos 
     ' do something with each directory 
    Next 
+0

請看下面的帖子,我做了一個答案,所以你可以看到新的代碼即時通訊使用。我的問題是,我不能將directoryInfo轉換爲字符串 – steve 2010-04-17 02:55:54

1

而不是使用特定的VB-功能等mattbasta所暗示的,它只是爲便於使用System.IO.Directory類,這是BCL的一部分,並且將是熟悉的任何其他.NET開發商。

Dim hasSubDirectories = System.IO.Directory.GetDirectories(parentPath).Length > 0 
+0

請看下面的帖子,我做了一個答案,所以你可以看到我使用的新代碼。我的問題是,我不能將directoryInfo轉換爲字符串 – steve 2010-04-17 02:54:59

0

問題是,我不能轉換爲字符串

Dim path As String = "..\..\..\Tier1 downloads\CourseVB\" 


    If countNumberOfFolders > 0 Then 'if there is a folder then 


     ' make a reference to a directory 
     Dim di As New IO.DirectoryInfo(path) 
     Dim diar1 As IO.DirectoryInfo() = di.GetDirectories() 
     Dim dra As IO.DirectoryInfo 

     'list the names of all files in the specified directory 
     For Each dra In diar1 

      Dim lessonDirectoryName() As Lesson 
      lessonDirectoryName(0).lessonName = dra 

     Next 

「的課程是一個對象,並且lessonName是字符串類型的屬性。我如何將directoryInfo轉換爲字符串?

+0

使用dra.FullName作爲目錄的完整路徑,或使用dra.Name作爲名稱。 – 2010-04-17 12:27:38

相關問題