使用 C# 在包含多个存档“.ZIP”的文件夹 "C:\TEST" 中查找特定文件
FIND A SPECIFIC FILE IN A FOLDER "C:\TEST" THAT CONTAINS MULTIPLE ARCHIVES ".ZIP" USING C#
我有一个包含多个存档的文件夹“c:\test
”。如何搜索此文件夹中的所有档案以查找特定文件。
这仅使用 ZipPath
搜索特定存档:
private void button1_Click(object sender, EventArgs e)
{
string zipPath = @"C:\Test\archive1.zip";
string filetosearch = "testfile";
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
var position = entry.Name.IndexOf(filetosearch , StringComparison.InvariantCultureIgnoreCase);
if (position > -1)
{
listView1.Items.Add(entry.Name);
}
}
}
}
是否可以搜索此文件夹中的所有档案,即 archive1
到 archive70
您可以使用以下代码:
foreach(var zipPath in Directory.GetFiles("C:\Test"))
{
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
var position = entry.Name.IndexOf(filetosearch , StringComparison.InvariantCultureIgnoreCase);
if (position > -1)
{
listView1.Items.Add(entry.Name);
}
}
}
}
代码获取目录中的所有文件并遍历它们。如果您需要按扩展名过滤文件,您可以在 foreach 循环中检查它。
您可能想要类似
的东西
string[] filePaths = Directory.GetFiles(@"c:\Test\", "*.zip")
然后把你的点击代码改成
foreach(var filePath in filePaths){
//your code here for each path
}
您可以使用以下代码
string[] filePaths = Directory.GetFiles(@"c:\test", "*.zip");
string filetosearch = "testfile";
foreach (var item in filePaths)
{
string name = Path.GetFileName(item);
if (name.IndexOf(filetosearch, StringComparison.InvariantCultureIgnoreCase) != -1)
{
//item is path of that file
}
}
我有一个包含多个存档的文件夹“c:\test
”。如何搜索此文件夹中的所有档案以查找特定文件。
这仅使用 ZipPath
搜索特定存档:
private void button1_Click(object sender, EventArgs e)
{
string zipPath = @"C:\Test\archive1.zip";
string filetosearch = "testfile";
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
var position = entry.Name.IndexOf(filetosearch , StringComparison.InvariantCultureIgnoreCase);
if (position > -1)
{
listView1.Items.Add(entry.Name);
}
}
}
}
是否可以搜索此文件夹中的所有档案,即 archive1
到 archive70
您可以使用以下代码:
foreach(var zipPath in Directory.GetFiles("C:\Test"))
{
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
var position = entry.Name.IndexOf(filetosearch , StringComparison.InvariantCultureIgnoreCase);
if (position > -1)
{
listView1.Items.Add(entry.Name);
}
}
}
}
代码获取目录中的所有文件并遍历它们。如果您需要按扩展名过滤文件,您可以在 foreach 循环中检查它。
您可能想要类似
的东西string[] filePaths = Directory.GetFiles(@"c:\Test\", "*.zip")
然后把你的点击代码改成
foreach(var filePath in filePaths){
//your code here for each path
}
您可以使用以下代码
string[] filePaths = Directory.GetFiles(@"c:\test", "*.zip");
string filetosearch = "testfile";
foreach (var item in filePaths)
{
string name = Path.GetFileName(item);
if (name.IndexOf(filetosearch, StringComparison.InvariantCultureIgnoreCase) != -1)
{
//item is path of that file
}
}