※ 引述《wahaha99 (此方不可長)》之銘言:
: My.Computer.FileSystem.GetFiles
: 這玩意雖然可以直接取回連同子目錄的檔案清單,
: 還可以用萬用字元指定檔名, 好用的很,
: 但如果從root開始做list, 會碰到 x:\System Volume Information
: 會直接產生 UnauthorizedAccessException
: 在網路上怎麼找也找不到個解, 該不會我得回去自己重新寫遞迴來列舉吧,
: 沒這麼爛吧? 這樣有等於沒有了,
: 有沒有人有解法,請指教了
兩種解法
1.自行打開 System Volume Information 權限, 再去讀取
2.就是你覺得 "很爛的遞迴", 加入判斷要素
Private Sub ReadFolder(ByVal root As String)
Dim rootDIR As System.IO.DirectoryInfo
rootDIR = My.Computer.FileSystem.GetDirectoryInfo(root)
If (rootDIR.Name <> "System Volume Information") Then
For Each recursiveDIR As String In My.Computer.FileSystem. _
GetDirectories(root)
Console.WriteLine(recursiveDIR)
ChDir(recursiveDIR)
Call ReadFolder(recursiveDIR)
Next
For Each file As String In My.Computer.FileSystem.GetFiles(root, _
FileIO.SearchOption.SearchTopLevelOnly)
Console.WriteLine(file)
Next
End If
End Sub
--
私が生存への道は
今も未來も唯一つ
私自身の闇黑のためだ
即ち「ハ・ル・ヒ」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.168.73