标签: system.io.directory

System.IO.Directory.GetFiles的多个文件扩展名searchPattern

什么是设置语法多个文件的扩展searchPatternDirectory.GetFiles()?例如,使用.aspx.ascx扩展名过滤掉文件.

// TODO: Set the string 'searchPattern' to only get files with
// the extension '.aspx' and '.ascx'.
var filteredFiles = Directory.GetFiles(path, searchPattern);
Run Code Online (Sandbox Code Playgroud)

更新:LINQ不是一个选项,它必须是一个searchPattern传入GetFiles,如问题中所指定的.

.net c# system.io.directory

125
推荐指数
7
解决办法
18万
查看次数

c# - 用于复制文件路径中的文件夹结构的函数

我需要一个简单的函数,它将FileInfo和destination_directory_name作为输入,从fileinfo获取文件路径,并在作为第二个参数传递的destination_directory_name中复制它.

对于前 filepath是"d:\ recordings\location1\client1\job1\file1.ext该函数应该在destination_directory_name中创建目录(如果它们不存在)并在创建目录后复制该文件.

.net c# filesystems system.io.directory

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

Directory.CreateDirectory延迟问题?

我正在尝试创建一个远程目录,然后将文件写入其中.每隔一段时间,在尝试编写文件时,应用程序会因System.IO.DirectoryNotFoundException而失败.

当我编写文件时,我正在使用返回的DirectoryInfo对象来帮助创建文件路径,因此应用程序似乎认为该目录已经创建.但是,该目录不存在.

在Windows完成创建之前,我是否有可能尝试写入目录?我认为Directory.CreateDirectory在此任务完成之前不会返回.

.net c# windows directory system.io.directory

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

删除锁定的文件和文件夹

我正在写一个更新一些驱动程序的应用程序.但是,驱动程序"正在使用",除非重新启动计算机,否则无法删除.

那么如何在不重新启动PC的情况下编写应用程序来删除这些锁定的驱动程序.如果重新启动必须重新启动,那么当计算机重新启动并删除这些文件时,如何自动重新启动应用程序?

c# file-io system.io.directory delete-file

9
推荐指数
1
解决办法
1072
查看次数

使用System.IO.Directory.GetFiles()计算文件的性能问题

我在C#程序中使用

System.IO.Directory.GetFiles(dirname, "*.*", System.IO.SearchOption.AllDirectories).Length;

计数到共享上的目录(及其子目录)中的文件数.我为循环中的许多目录执行此操作.现在的问题是,在20-30次GetFiles(...).Length我的程序调用后突然冻结或变得非常慢.可能是什么原因以及如何解决这个问题!有变通方法吗?

.net c# performance system.io.directory

9
推荐指数
1
解决办法
3586
查看次数

当搜索模式包含3个扩展字符时,.NET的Directory.GetFiles()中的奇怪功能

我最近碰到了微软的一个奇怪的功能:

假设我们的文件夹c:\tmp123包含3个文件 -
1.txt
2.txtx
3.txtxt

a)Directory.GetFiles(@"C:\tmp123", "*.txt")在3个退货项目中调用收益率.
b)Directory.GetFiles(@"C:\tmp123", "*.txtx")在1个退回的项目中调用收益率.

据微软称,这是预期的行为(参见MSDN中的注释).

我的问题是:

  1. 为什么微软决定拥有这样一个奇怪的功能?

  2. 我怎样才能克服这个问题?
    即我怎么有一个搜索模式,将返回*.txt唯一的扩展,而不是返回*.txtx,*.txtstarngefunctionality等?

.net system.io.directory getfiles

6
推荐指数
1
解决办法
1499
查看次数

如果目录内容在迭代过程中发生变化,Directory.EnumerateFiles 会发生什么?

我已经阅读了关于Directory.EnumerateFiles和之间差异的讨论Directory.GetFiles

我知道他们在内部都使用 System.IO.FileSystemEnumerableFactory.CreateFileNameIterator()

不同之处在于EnumerateFiles可能会使用延迟执行(lazy),而会使用GetFiles()a ToArray,因此该函数已经被执行了。

但是如果在迭代过程中将文件和文件夹添加到字典中会发生什么。迭代是否只迭代在EnumerateFiles()?期间存在的项目?

更糟糕的是:如果在迭代过程中删除文件会发生什么:它们还会被迭代吗?

c# file enumerate system.io.directory getfiles

6
推荐指数
1
解决办法
1504
查看次数

c#Directory.GetDirectories不包括文件夹

我试图在"c:\ Users"中迭代窗口中的用户文件夹列表但排除了microsoft内置用户文件夹,下面是我用来完成此专长的代码段但是由于某种原因不按预期工作.

private readonly List<String> _exclusion = new List<String>
                                                   {
                                                       "All Users",
                                                       "Default",
                                                       "LocalService",
                                                       "Public",
                                                       "Administrator",
                                                       "Default User",
                                                       "NetworkService"
                                                   };

public static bool FoundInArray(List<string> arr, string target)
{
    return arr.Exists(p => p.Trim() == target);
}

foreach (string d in Directory.GetDirectories(sDir).Where(d => !FoundInArray(_exclusion,d)))
{
    richTextBox1.Text += d + Environment.Newline;
}
Run Code Online (Sandbox Code Playgroud)

我不确定为什么这不起作用,有人可以为我提供一些见解吗?

c# getdirectories system.io.directory

3
推荐指数
1
解决办法
6011
查看次数

某些父目录的C#路径

有没有一种简短的方法可以从当前路径获取某些父目录路径。

我有这样一条路:

"c:\\users\\userName\\documents\\visual studio 2013\\Projects\\SolutionName\\ProjectName\\bin\\Debug"
Run Code Online (Sandbox Code Playgroud)

我想获取路径到“ SolutionName”目录,像这样

"c:\\users\\userName\\documents\\visual studio 2013\\Projects\\SolutionName"
Run Code Online (Sandbox Code Playgroud)

我需要它,因为我将一些数据存储在文件夹中

"c:\\users\\userName\\documents\\visual studio 2013\\Projects\\SolutionName\\DataFolder"
Run Code Online (Sandbox Code Playgroud)

我需要从解决方案中的不同项目中访问它。

谢谢大家,我做了什么

public static string GetParent( string parentName,string FileName)
    {
        var dir = new DirectoryInfo(System.IO.Directory.GetCurrentDirectory());

        while (dir.Parent.Name != parentName)
        {
            dir = dir.Parent;
        }
        return dir.Parent.FullName+"\\Data\\"+FileName;
    }
Run Code Online (Sandbox Code Playgroud)

我接受了卡勒姆·布拉德伯里(Callum Bradbury)的回答,因为我只是将其更改为不递归。

.net c# system.io.directory

3
推荐指数
1
解决办法
5205
查看次数

为什么我不能继承IO.Directory?

为什么我不能创建一个classVB.NETinherits System.IO.Directory?根据Lutz Roeder的说法,它并没有被宣布为NotInheritable!

我想创建一个utility class添加功能Directory class.例如,我想添加一个Directory.Move功能.

请指教,我会寄给你六包.好的,没关系,我没有送你任何东西,但如果你今晚来到酒吧,我会把你搞定,然后在游泳池里打败你.

vb.net inheritance system.io.directory

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