天天看点

[VB.NET]请教一下如何解决My.Computer.FileSystem.GetFiles终于到的权限问题

[VB.NET]请教一下如何解决My.Computer.FileSystem.GetFiles终于到的权限问题

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

请教一下如何解决My.Computer.FileSystem.GetFiles终于到的权限问题

我想实现删除系统盘里面的所有.log文件

[code]

Dim files As System.Collections.ObjectModel.ReadOnlyCollection(Of String)

files = My.Computer.FileSystem.GetFiles(System.Environment.SystemDirectory, FileIO.SearchOption.SearchAllSubDirectories, *.log )

ProgressBar1.Maximum = files.Count

Dim i As Int16

For Each strfile As String In files

i += 1

ProgressBar1.Value = i

My.Computer.FileSystem.DeleteFile(strfile)

Next

MessageBox.Show( 操作完成 )

End Sub

[/code]

但是搜索到某些文件的时候会报错 Access to the path C:/Windows/System32/LogFiles/WMI/RtBackup is denied.

如何跳过这些不具有访问权限的文件

__________________________________________________________________________

try

{

}

catch

{

}

__________________________________________________________________________

我试演过

Try

files = My.Computer.FileSystem.GetFiles(System.Environment.SystemDirectory, FileIO.SearchOption.SearchAllSubDirectories, *.log )

Catch ex As Exception

Exit Try

End Try

但这样做files变量就取不到任何值了阿

__________________________________________________________________________

还有别的办法吗?

__________________________________________________________________________

看来这个问题还是比较棘手的阿

__________________________________________________________________________

可以用API

但是具体我也不知道

__________________________________________________________________________

可以先用GetDirectories搜索,对那些可以访问的文件夹再使用GetFiles,对不能访问的就跳过,或者用AccessControl来添加权限……

__________________________________________________________________________

呵呵~ 我还是用api吧

.net类看来还是不够完善阿

__________________________________________________________________________

继续阅读