标签: directoryinfo

目录与DirectoryInfo

它们是相同的还是彼此的替代品?是否有任何一个被弃用,如果是这样的话?建议在ASP.NET Web应用程序中使用哪一个.我的目标是递归地从特定目录中提取所有文件.

c# asp.net directory directoryinfo

41
推荐指数
2
解决办法
5万
查看次数

dotNet中是否存在DirectoryInfo.GetFiles/Directory.GetDirectories的异步版本?

dotNet中是否存在DirectoryInfo.GetFiles/Directory.GetDirectories的异步版本?我想在F#异步块中使用它们,并且拥有一个可以使用AsyncCallbacks调用的版本会很好.

问题是我试图吮吸一堆目录,可能是在慢速网络连接上的SMB挂载上,我不希望一堆线程池线程在等待网络读取时可能正在做其他工作.

.net f# asynchronous directoryinfo async-workflow

40
推荐指数
4
解决办法
2万
查看次数

DirectoryInfo.getFiles以.开头

我遇到了一些奇怪的行为,试图获取以某个字符串开头的文件.

请有人就此提供一个有效的例子:

我想获取一个以某个字符串开头的目录中的所有文件,但也包含xml扩展名.

例如:

 apples_01.xml
 apples_02.xml
 pears_03.xml
Run Code Online (Sandbox Code Playgroud)

我希望能够获得以苹果开头的文件.

到目前为止,我有这个代码

 DirectoryInfo taskDirectory = new DirectoryInfo(this.taskDirectoryPath);
 FileInfo[] taskFiles = taskDirectory.GetFiles("*.xml");
Run Code Online (Sandbox Code Playgroud)

c# directoryinfo

20
推荐指数
2
解决办法
3万
查看次数

获取directoryinfo对象的路径

在C#中编写一些代码,我想知道是否有办法获取directoryinfo对象的正确路径?

例如,目前我有一个目录,例如:

DirectoryInfo dirInfo = new DirectoryInfo(pathToDirectory);
Run Code Online (Sandbox Code Playgroud)

问题是,如果我想获取该特定dirInfo对象的路径,它总是返回调试路径(bin文件夹).如果原始dirInfo对象引用D:\testDirectory路径中的目录,那么我想要一种方法在代码中的其他位置再次获取该路径而不是获取\bin\debug\testDirectory

有没有办法做到这一点?

目前我正在尝试使用以下方式获取dirInfo的路径Path:

Console.WriteLine("Path: " + Path.GetFullPath(dirInfo.ToString()));
Run Code Online (Sandbox Code Playgroud)

c# directoryinfo

15
推荐指数
1
解决办法
2万
查看次数

.NET - 检查目录是否可访问而无需异常处理

我需要通过计算机上的各种目录(通过DirectoryInfo).其中一些不可访问,并发生UnauthorizedAccessException.如何在不捕获异常的情况下检查目录访问?

.net directoryinfo

12
推荐指数
2
解决办法
1万
查看次数

C#:如何在使用DirectoryInfo时登录共享

如果我想使用UNC路径实例化DirectoryInfo对象

DirectoryInfo myDI = new DirectoryInfo (@"\\server\share");
Run Code Online (Sandbox Code Playgroud)

如何传递访问该共享所需的用户名/密码?

谢谢

c# unc directoryinfo

11
推荐指数
2
解决办法
2万
查看次数

DirectoryInfo,FileInfo和很长的路径

我尝试使用很长的路径使用DirectoryInfo,FileInfo.

  • 我尝试使用\\?\ c:\ long path(我使用fileInfo和DirectoryInfo获取非法的文件)
  • 我尝试使用file:// c:/ long path(我得到uri不支持)

我可以在路径或其他地方使用〜.

我读过这篇文章,但我想用另一种调用API的方式.是其他解决方案吗?

微软有一篇文章可供使用\\?在文件路径链接文本中

问题是如何使用非常长的路径,DirectoryInfo和FileInfo的路径谁更长的256 char

.net c# directoryinfo fileinfo pathtoolongexception

11
推荐指数
4
解决办法
2万
查看次数

C#如何在使用DirectoryInfo时解决限制?

当我递归一些文件夹和文件时,我遇到这个错误:

指定的路径,文件名或两者都太长.完全限定的文件名必须少于260个字符,目录名必须少于248个字符.

这是我的功能

private void ProcessDirectory(DirectoryInfo di)
{
    try
    {
        DirectoryInfo[] diArr = di.GetDirectories();

        foreach (DirectoryInfo directoryInfo in diArr)
        {
            if (StopCheck)
                    return;
            ProcessDirectory(directoryInfo);
        }
        ProcessFile(di);
    }
    catch (Exception e)
    {
        listBoxError.Items.Add(e.Message);
    }

    TextBoxCurrentFolder.Text = di.ToString();
}
Run Code Online (Sandbox Code Playgroud)

我不能让目录名更短,因为我不允许这样......我怎么能解决这个问题呢?

补充: 这是另一个功能:

private void ProcessFile(DirectoryInfo di)
{
    try
    {
        FileInfo[] fileInfo = di.GetFiles();

        if (fileInfo.LongLength != 0)
        {
            foreach (FileInfo info in fileInfo)
            {
                Size += info.Length;
                CountFile++;
            }
        }
    }
    catch (Exception e)
    {
        listBoxError.Items.Add(e.Message);
    }
}
Run Code Online (Sandbox Code Playgroud)

EDIT 在他使用Zeta Long Paths的地方找到了这个: …

.net c# directoryinfo

10
推荐指数
1
解决办法
1万
查看次数

检查C#中是否可以访问目录?

可能重复:
.NET - 检查目录是否可访问而不进行异常处理

我使用.NET 3.5和C#在Visual Studio 2010中制作一个小文件浏览器,我有这个功能来检查目录是否可访问:

RealPath=@"c:\System Volume Information";
public bool IsAccessible()
{
    //get directory info
    DirectoryInfo realpath = new DirectoryInfo(RealPath);
    try
    {
        //if GetDirectories works then is accessible
        realpath.GetDirectories();                
        return true;
    }
    catch (Exception)
    {
        //if exception is not accesible
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

但我认为对于大目录,尝试让所有子目录检查目录是否可访问可能会很慢.我在尝试探索受保护的文件夹或没有光盘的cd/dvd驱动器时使用此功能来防止错误("设备未就绪"错误).

是否有更好的方法(更快)检查应用程序是否可以访问目录(最好是在NET 3.5中)?

c# getdirectories directoryinfo visual-studio-2010

10
推荐指数
1
解决办法
2万
查看次数

第二个路径片段不能是驱动器或UNC名称 - 创建子目录错误

我在这段代码的第三行有一个例外"第二个路径片段不能是驱动器或UNC名称"

DirectoryInfo labdi = new DirectoryInfo(Back.mainfolderpath + @"\news\l");
DirectoryInfo tld = new DirectoryInfo(labdi.FullName + @"\" + NorA.sn.labl[i]);
tld = labdi.CreateSubdirectory(labdi.FullName + @"\" + NorA.sn.labl[i] + @"\");
Run Code Online (Sandbox Code Playgroud)

网上没有有用的方法.谢谢.:!

.net c# directory directoryinfo subdirectory

9
推荐指数
2
解决办法
2万
查看次数