VB.NET:GetFiles方法-"へのアクセスコストパフォーマンスG:\System ボリューム情報"は拒否されます。"
-
19-09-2019 - |
質問
ここでは私のコード
Dim allFiles As FileInfo() =
tempDir.GetFiles("*.pdf", SearchOption.AllDirectories)
私ンターネットで調べたその変更が必要なアクセス権のアプリから
Project properties > View UAC Settings > and change level to level="requireAdministrator"
そのもので使用すれば問題ありません。このような約 FileIOPermission
クラスでくださを実施するノウハウです。
==>詳細なコードです。
Dim tempDir As New DirectoryInfo(path)
Dim FileDetails(4) As String
Dim iTem As ListViewItem
If (tempDir.Attributes <> FileAttributes.System) Then
Dim allFiles As FileInfo() = tempDir.GetFiles("*.pdf", SearchOption.AllDirectories)
Dim oneFIle As FileInfo
For Each oneFIle In allFiles
FileDetails(0) = oneFIle.Name()
FileDetails(1) = oneFIle.FullName()
FileDetails(2) = oneFIle.Length() / (1024 * 1024)
FileDetails(2) = FileDetails(2).Remove(5)
iTem = New ListViewItem(FileDetails)
ListView1.Items.Add(iTem)
Next
End If
パス文字列が含まれる経路に必要な、この場合 G:\
解決 2
[OK]を、私はケースを解決だと思う、私は、各フォルダを反復その属性を確認し、リストに追加..私はそれが働いていると思う。.. Plzはそれをチェックビット..
Dim tempDir As New DirectoryInfo(path)
Dim FileDetails(4) As String
Dim iTem As ListViewItem
Try
Dim allFiles As FileInfo() = Nothing
For Each Directory In tempDir.GetDirectories()
Try
If (Directory.Attributes <> FileAttributes.System) Then
allFiles = Directory.GetFiles("*.pdf", SearchOption.AllDirectories)
End If
Dim oneFIle As FileInfo
For Each oneFIle In allFiles
FileDetails(0) = oneFIle.Name()
FileDetails(1) = oneFIle.FullName()
FileDetails(2) = oneFIle.Length() / (1024 * 1024)
FileDetails(2) = FileDetails(2).Remove(5)
iTem = New ListViewItem(FileDetails)
ListView1.Items.Add(iTem)
Next
Catch ex As Exception
End Try
Next
Catch ex As UnauthorizedAccessException
End Try
他のヒント
しかできなPDFファイルをこのフォルダー:
の
System Volume Information
フォルダを隠しシステムフォルダのシステムの復元ツールの使用に店舗その情報を復元す。(MSDN)
ので無視されます。
付与し、 GetFiles()
できません無視するファイル/フォルダのないPInvokeへ FindFirstFile et al.いの検索有効である。
システムボリューム情報フォルダは、O / S保護されたフォルダーです。あなたは管理者のアクセス権を持っている場合でも、あなたはまだそれにアクセスすることはできません。あなたは、エクスプローラ自体からそれを試すことができます。 (保護されたオペレーティングシステムファイルを表示するオプションを有効にする必要があります。)
所属していません StackOverflow