2017-09-29 66 views
0

我相信這是一個直截了當的問題,希望我不會冒煙。 編寫代碼,找到C盤.NET在一個目錄下的所有文件夾中找到文件

If IO.File.Exists("C:\text.txt") Then 

     MessageBox.Show("Found text file") 
    Else 

     MessageBox.Show("Not Found") 
End If 

命名的text.txt 文件「C:\的text.txt」位於子文件夾時,無法找到。 應該使用什麼語法?

我花了我的時間找到解決方案,因此在這裏問一個簡單的問題。

謝謝!

+0

看看如果你讀過了'File.Exists文檔「那麼你已經知道答案了。如果你還沒有閱讀文檔,爲什麼你沒有閱讀文檔?幫助菜單不在VS中進行裝飾。如果您需要某種類型或方法的幫助,請使用「幫助」菜單打開該類型或方法的文檔。只有在這樣做之後,如果你需要他們,你應該考慮其他信息來源。 – jmcilhinney

+0

這是C#但是https://stackoverflow.com/questions/3994448/how-to-check-if-a-specific-file-exists-in-directory-or-any-of-its-subdirectories –

+0

@jmcilhinney謝謝你的答覆,我已經閱讀File.Exists文件,似乎要找到該文件,它必須指向確切的位置(子文件夾)。我仍然是編程的新手,因此仍然不確定找到解決方案的最佳方式。 – Tim

回答

4

您可以使用Directory.GetFiles (String, String, SearchOption)方法返回與指定目錄中指定搜索模式相匹配的文件(包括其路徑)的名稱,使用值來確定是否搜索子目錄。

例如:

If System.IO.Directory.GetFiles("C:\Users\You\Desktop", "file.txt", IO.SearchOption.AllDirectories).Length > 0 Then 
    MsgBox("Found!") 
Else 
    MsgBox("Not found!") 
End If 
+0

嗨,我實施了你的建議Directory.GetFiles(@「C:\」,「text.txt」,SearchOption.AllDirectories)它給了預期的「@」表達式上的錯誤。對此有何想法?謝謝! – Tim

+0

@Tim:刪除'@',它只適用於C#代碼。 –

+0

@VisualVincent嗨,看起來get目錄不能進入if語句....「字符串的1維數組不能轉換爲布爾值」...請賜教。謝謝。 – Tim

相關問題