文件路径目录中的通配符

时间:2014-07-16 20:04:37

标签: c# wildcard

我有一个相当独特的情况。我使用通配符(" * .txt")作为示例,进行了大量的搜索以及我所看到的大部分内容终止于查找特定文件。我需要做的是在路径之间移动文件,第一个文件具有更改的子目录。我正在下载.zip,提取它,并移动一个名字永远不会改变的文件。其父目录的名称会根据日期戳更改。

//original extracted folder
string path = @"C:\IP-Test_20140715\File.csv";
//where to move
string path2 = @"C:\File.csv";

File.csv永远不会改变,但IP-Test_20140715将根据日期而改变(无论调用提取的文件夹是什么),下划线之后的所有内容都会有所不同。

如果目录中不能使用通配符,是否可以使用ZipFile.ExtractToDirectory在c#中强制解压缩目录的名称?

1 个答案:

答案 0 :(得分:1)

使用:

Directory.EnumerateFiles (@"C:\IP-Test_20140715", "*.txt")

枚举不同的文件。

因此:

foreach(var subdir in Directory.EnumerateDirectories (@"C:\", "IP-Test_*")) {
    foreach(var file in Directory.EnumerateFiles (subdir, "*.cvs")) {
        File.Move(file,Path.Combine(@"C:\",Path.GetFileName(file)));
    }
}

另一方面,我不明白为什么要使用C#?一个简单的bash脚本可以更轻松地完成这个过程......