共用方式為


擷取資料夾中檔案的名稱

更新:2007 年 11 月

在本課程中,您將學習如何使用 My.Computer.FileSystem 物件,擷取資料夾中檔案的名稱。

在 Microsoft Windows 中,資料夾是用來儲存檔案的區域。Microsoft Windows 有一些特殊資料夾,可幫助您將檔案組織成各種分類,例如文件、圖片和音樂檔。

注意事項:

在 Windows XP 中,這些資料夾名為 [我的文件]、[我的圖片] 和 [我的音樂]。在 Windows Vista 中,這些資料夾的名稱中都沒有「我的」兩字,名稱只有「文件」、「圖片」和「音樂」而已。不過,本課中的程式碼將在 Windows XP 和 Windows Vista 中執行。

在本課程中,您將建立 [圖片檢視器] 應用程式,用來顯示 [圖片] 資料夾中的圖片檔。當您選取 ListBox 中的項目時,對應的圖形會顯示在 PictureBox 控制項中。

取得檔案

您可以使用 My.Computer.FileSystem.FileExists 方法,並指定資料夾路徑和檔案名稱,檢查特定檔案是否存在。

如果您要擷取資料夾中所有檔案的名稱,可以使用 My 物件,取得位於特定資料夾中所有檔案的集合。您也可以指定模式,查詢唯一名稱的檔案。

請使用 My.Computer.FileSystem.GetFiles 方法,傳回指定之資料夾中的檔案。您可以傳遞選擇性的萬用字元清單,表示希望傳回的檔案模式。例如,您可以指定檔案的副檔名應為 .gif (*.gif*),以擷取所有圖形交換格式 (Graphics Interchange Format,GIF) 影像檔的名稱。您也可以指定副檔名 (*.jpg*) 並以逗號分隔副檔名,以加入多個圖形格式類型,例如 Joint Photographic Experts Group (JPEG)。

您可以使用 My.Computer.FileSystem.SpecialDirectories 物件指定特殊資料夾,例如 [圖片]。這麼做會傳回每一個檔案的名稱,包括完整路徑。您可以對傳回的檔案名稱執行迴圈,並將每一個檔名加入至 ListBox

試試看!

若要建立應用程式的使用者介面 (UI)

  1. 在 [檔案] 功能表上,按一下 [新增專案]。

  2. 在 [新增專案] 對話方塊的 [範本] 窗格中,按一下 [Windows 應用程式]。

  3. 在 [名稱] 方塊中,輸入 Picture Viewer,然後按一下 [確定]。

    會開啟新的 Windows Form 專案。

  4. 按一下表單,並在 [屬性] 視窗中變更下列屬性:

    屬性

    Text

    Picture Viewer

    Size

    400, 472

  5. 將 [ListBox] 控制項加入至表單,並保留預設名稱 ListBox1。

  6. 按一下 [ListBox] 並變更下列屬性:

    屬性

    HorizontalScrollBar

    True

    Size

    370, 82

  7. 將 [PictureBox] 控制項加入至表單,並保留預設名稱 PictureBox1。

  8. 按一下 [PictureBox] 並變更下列屬性:

    屬性

    BorderStyle

    FixedSingle

    SizeMode

    StretchImage

    Size

    370, 285

  9. 在表單中加入一個 [Button] 控制項。

  10. 變更 [Button] 的下列屬性:

    屬性

    Name

    LoadPictures

    Text

    Load Pictures

    Size

    80, 23

建立了 [圖片檢視器] 的 UI 後,您可以撰寫程式碼以擷取檔案名稱。

若要檢取檔案名稱

  1. 按兩下 [載入圖片] 按鈕,在 [程式碼編輯器] 中加入預設的事件處理常式。

  2. 在 LoadPictures_Click 事件處理常式中,加入下列程式碼以擷取 [圖片] 資料夾中所有 GIF 和 JPEG 檔,並在清單方塊中顯示檔名。這個程式碼會指定 SearchTopLevelOnly 搜尋選項,以指定不能搜尋 [圖片] 資料夾中的子資料夾。

    ' Clear the list box and the picture box.
    Me.ListBox1.Items.Clear()
    Me.PictureBox1.ImageLocation = ""
    
    ' Add each image in the Pictures directory to list box.
    For Each foundImage As String In _
        My.Computer.FileSystem.GetFiles( _
        My.Computer.FileSystem.SpecialDirectories.MyPictures, _
        FileIO.SearchOption.SearchTopLevelOnly, "*.gif*", "*.jpg*")
    
        Me.ListBox1.Items.Add(foundImage)
    Next
    
  3. 加入下列程式碼,如果 [圖片] 資料夾中沒有影像,就對使用者顯示訊息方塊。

    If Me.ListBox1.Items.Count < 1 Then
        MsgBox("There are no JPEG or GIF images in" _
        & " the Picture folder.")
    End If
    
  4. 請按 F5 執行程式。

  5. 當表單顯示時,請按一下 [載入圖片] 按鈕。

    [圖片] 目錄中的每一個 GIF 或 JPEG 檔案的檔名和路徑,都會顯示在清單方塊中。

  6. 關閉 [圖片檢視器] 應用程式。

在本範例中,[圖片] 目錄中的檔案路徑很長,您必須向右捲動以查看檔名。或者,您可以分隔檔名和資料夾路徑以剖析每一個字串。如需詳細資訊,請參閱詳述:剖析檔案路徑

顯示圖片

如果您也可以預覽每一張圖片,則將檔名加入至清單方塊中會變得更有趣。在這個程序中,您將在 [ListBox1] 的 SelectedIndexChanged 事件處理常式中撰寫程式碼,以顯示在 PictureBox 中選取的圖片。

若要檢視圖片

  1. 在 [程式碼編輯器] 中,按一下 [類別名稱] 下拉式清單中的 [ListBox1]。

  2. 在 [方法名稱] 下拉式清單中,按一下 [SelectedIndexChanged] 建立事件處理常式。

  3. 在 ListBox1_SelectedIndexChanged 事件處理常式中,加入下列程式碼以顯示選取的圖片。

    Me.PictureBox1.ImageLocation = Me.ListBox1.SelectedItem
    
  4. 請按 F5 執行程式。

  5. 按一下按鈕,從 [圖片] 目錄中載入檔案,然後按一下清單方塊中的檔名。每次您按一下清單中的項目時,就會顯示新的圖片。

  6. 關閉 [圖片檢視器] 應用程式,並儲存專案。您將在下一個課程中使用這個專案。

後續步驟

在本課程中,您已經學會如何擷取資料夾中的檔案名稱,並在 Windows Form 中顯示這些名稱。在下一個課程中,您將學習如何將檔名儲存至文字檔。您也可以在詳述:剖析檔案路徑中,更加了解剖析檔名的詳細資訊。

下一個課程:寫入至文字檔

請參閱

概念

使用 My 進行開發

其他資源

使用檔案系統:寫入和讀取檔案

Visual Basic 導覽