
<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类看来还是不够完善阿
__________________________________________________________________________