
<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類看來還是不夠完善阿
__________________________________________________________________________