以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  查找文件出现错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185696)

--  作者:tld
--  发布时间:2023/3/10 23:56:00
--  查找文件出现错误
老师好. 运行下面代码出现如下错误, 如何避免? 谢谢老师!
For Each foundFile As String In Filesys.GetFiles("d:", FileIO.SearchOption.SearchAllSubDirectories)
--------------------------------
Next



图片点击可在新窗口打开查看此主题相关图片如下:屏幕截图 2.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2023/3/11 9:27:00
--  
For Each foundFile As String In Filesys.GetFiles("d:", FileIO.SearchOption.SearchAllSubDirectories)
    Dim dirPath = FileSys.GetParentPath(foundFile)
    Dim fileAcl = system.io.Directory.GetAccessControl(dirPath)
    Dim userAccessRules = fileAcl.GetAccessRules(True, True, GetType(System.Security.Principal.NTAccount))
    Dim a As Boolean
    For Each ff As Object In userAccessRules
        If ff.AccessControlType = System.Security.AccessControl.AccessControlType.Deny Then
            a = True
            Exit For
        End If
    Next
    If a Then
        Continue For
    End If 
后续其它处理
Next


--  作者:tld
--  发布时间:2023/3/11 15:55:00
--  
老师,上述代码还是报同样的错误。好像是  For Each foundFile As String In Filesys.GetFiles("d:", FileIO.SearchOption.SearchAllSubDirectories) 就出现错误了。
[此贴子已经被作者于2023/3/11 15:56:09编辑过]

--  作者:有点蓝
--  发布时间:2023/3/11 16:24:00
--  
For Each foundFile As String In Filesys.GetFiles("d:\\", FileIO.SearchOption.SearchAllSubDirectories)
--  作者:tld
--  发布时间:2023/3/11 18:10:00
--  
蓝老师,就应该是For Each foundFile As String In Filesys.GetFiles("d:", FileIO.SearchOption.SearchAllSubDirectories) 。是运行到图示的文件时出的错。这个是隐藏文件?如何过滤这样的文件?谢谢

图片点击可在新窗口打开查看此主题相关图片如下:微信截图-1.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2023/3/12 20:23:00
--  
1、把Foxtable设置为“使用管理员身份运行”
2、排除掉$RECYCLE.BIN,或者$开头的目录