GetDirectories 出错的解决方法

我想找到D盘里面所有 "*.pst文件,类似 windows 下的磁盘搜索功能,

using System.IO;

Directory.GetFiles(@"d:\", "*.pst", SearchOption.AllDirectories)

测试环境为win7 提示说 某某目录没有访问权限。

获得文件属性   File.GetAttributes(dir.FullName).ToString()  
没有权限访问的将会有  System  、Hidden属性。

于是想到是否可以通过属性来过滤这些文件,因此想到了用递归的思想去遍历所有文件。

还好,在网上居然找到了这个。

http://support.microsoft.com/kb/303974/zh-cn

using System.IO;

using System.Collections;

ArrayList Alist = new
ArrayList();
        void DirSearch(string
sDir)
       
{
           
try
           
{
               
foreach (string d in
Directory.GetDirectories(sDir))
               
{
                   
foreach (string f in Directory.GetFiles(d,
"*.pst"))
                   
{
                       
Alist.Add(f);
                   
}
                   
DirSearch(d);
               
}
           
}
            catch
(System.Exception
excpt)
           
{
               
Console.WriteLine(excpt.Message);
           
}
        }

GetFileTime("D:\\");

通过递归和直接 找所有的文件,两者都有异常, 区别在于前者的异常,就抛出某个节点的异常,  Alist.Add(f);
不会执行,(这里是递归循环哦)循环继续,后者是遇到异常,则赋值操作不能执行,返回null.

也可以通过GetAttributes 来判断,原理类似。

GetDirectories 出错的解决方法,布布扣,bubuko.com

时间: 2024-08-05 11:12:21

GetDirectories 出错的解决方法的相关文章

数据库出错的解决方法

1.SQLServer2008数据库sa账户登录127.0.0.1失败 http://wenku.baidu.com/link?url=FiTOMHmOBYJp3LFKYFuHNN2uHn_00zSVbVLgudRa9QA2usB5liFjQbKah4F9GcqUfgWQiMfxDwx9-6kyFnAaaTd9PR72S-ZOuKR_CxJxETW&qq-pf-to=pcqq.c2c 2.SqlServer配置管理器中的sql服务    远程过程调用失败 http://wenku.baidu.c

MySQL主从复制出错的解决方法

MySQL主从复制出错的解决方法 主从复制中若是出现错误可以通过几个方法来进行解决 1.如果主从复制时发生了主键冲突,从而阻止了主从复制,可以使用sql_slave_skip_counter这个变量来忽略错误将其排除 2.如果发生了较大的错误,可以考虑使用reset slave的方法重新配置从服务器来恢复错误 以下演示如何使用这两种方法解决错误,及相关操作的详细说明 reset slave的使用方法 环境准备搭建主从同步 主节点配置 1.修改配置文件 [[email protected] ~]#

Microsoft Office Enterprise 2007 在安装过程中出错的解决方法

今天笔者在使用PowerPoint 2007打开一个ppt的内嵌的excel表格时报如下错误: 无法找到 服务器应用程序.源文件.和项目,或返回的未知错误.请重新安装服务程序 然后就先把ppt文件发给同事.同事能在自己的电脑上打开ppt文件中内嵌的excel,于是判定很可能是笔者office软件的问题. 因不想在此事上花过多的时间研究,于是准备重新安装Microsoft Office 2007,但在安装的过程中进度条快完的时候又报如下错误: Microsoft Office Enterprise

【笔记】vue-cli 打包后路径问题出错的解决方法

几天之前打包自己的vue 项目上传到远程服务器上面 但是遇到了如下几个问题: 1. 线上浏览页面时是空白页面 2. 打包后资源文件(js, css 文件)引用的路径不正确 3. 开发环境中使用到的如:组件内部css 的背景图路径,通过 computed 属性计算返回的图片路径不正确问题 于是在网上参考了两篇文章便逐一解决了: https://www.cnblogs.com/moqiutao/p/7496718.html http://blog.csdn.net/obkoro1/article/d

关于“horizon view,在配置Composer出错问题”解决方法

关于"horizon view,在配置horizon view 添加服务器时,在view composer域添加时提示"检查管理员出错.请重新检查您的信息."问题解决方法 错误如图: 解决方法:1.先绕过View Composer设置."不使用View Composer",下一步直至完成.会看到已经生成了一条配置.选中这条信息后,点击"编辑"2.View Composer Server 设置点击"编辑"3.最后一直下

C# 添加.DLL 出错的解决方法

解决方法:    1.     注册组件:       运行--cmd--regsvr32 dll的绝对路径名(例如: regsvr32  C:\bin\EFGateWayOfERP.dll) 如果注册成功,问题不在出现.    2.     如果是在x64位的系统中,即使控件注册成功,错误依照提示,是因为大多数第三方写的COM控件,只支持32位的系统, 在VS中找到引用控件所在的项目--〉属性--〉生成--〉常规---〉目标平台---〉选择X86即可解决.

sql 关于查询时 出现的 从数据类型 varchar 转换为 numeric 时出错 的解决方法。

出现这种问题 一般是查询时出现了 varchar 转 numeric 时出了错  或varchar字段运算造成的 解决方法: 让不能转的数不转换就可以了 sql的函数有个isNumeric(参数) 用来转换数字 如果成功反回1 不成功 则反回0 例: select case when isNumeric(字段)=0 then 0 else 字段运算 end from 表名 declare @参数 varchar(32) set @参数='abc' select case when isNumer

织梦添加超过两百个自定义字段后在使用addfields调用自定义字段出错的解决方法

dedecsm 自定义模型  添加自定义字段(个数一百多个),使用addfields  方法调用,出现调用不出来的情况[addfields  里面就能添加145个字段,多了直接乱码或者无法显示] 解决方法 分别打开 include/dedehtml2.class.php include/dedetag.class.php include/dedetemplate.class.php 搜索 1024 全部改成 10240 文件存储字节改大就可以了. 原文地址:https://www.cnblogs

python中类型转换出错的解决方法

python可以使用int(), float()等类型转换函数实现类型转换的功能,特别是string类型转换. 但是,我们也经常会发现报如下的错误: ValueError: invalid literal for int() with base 10 出现这种情况的原因是被转换的字符串包含不是数字的字符,例如小数点,连字符,或者其他的字符. 这里提供一种解决小数点的方法: round(float('1.0')) 1.0 int(round(float('1.0'))) 1 对于其他字符,我们可以