检查 Zip 文件内容并解压
Check Zip File content and extract
您好,我想提取一个包含各种文本文件的 ZipFile。但我可能是 de 文本文件在一个文件夹中。所以我想做的是:如果一个文件夹存在,如果不创建一个名为 ZipFile 的文件夹,则正常提取。原因是我不想在同名文件夹中有一个文件夹。
我以前的代码:
foreach (string file in newZips) {
FileInfo fileInfo = new FileInfo(file);
string dirName = newPath + "\" + fileInfo.Name.Substring(0, fileInfo.Name.Length - 4);
Console.WriteLine(dirName);
Directory.CreateDirectory(dirName);
ZipFile.ExtractToDirectory(allZipsPath + "\" + fileInfo.Name, dirName);
}
也许这对你有帮助:
string path = @"C:\..\..\myFolder";
if(!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
这就是您检查路径是否包含您期望的文件夹的方法。如果没有,它会创建该文件夹!
--- 编辑(如果不知道 zip-Name)---
string myPathToZip = @"C:\..\..\folderName";
foreach (string file in Directory.GetFiles(myPathToZip, "*.zip", SearchOption.AllDirectories))
{
//the current path of the zipFile (with the Name included)
var path = new FileInfo(file.ToString());
//The filename
var filename = Path.GetFileName(file.ToString()).Replace(".zip", "");
}
您好,我想提取一个包含各种文本文件的 ZipFile。但我可能是 de 文本文件在一个文件夹中。所以我想做的是:如果一个文件夹存在,如果不创建一个名为 ZipFile 的文件夹,则正常提取。原因是我不想在同名文件夹中有一个文件夹。
我以前的代码:
foreach (string file in newZips) {
FileInfo fileInfo = new FileInfo(file);
string dirName = newPath + "\" + fileInfo.Name.Substring(0, fileInfo.Name.Length - 4);
Console.WriteLine(dirName);
Directory.CreateDirectory(dirName);
ZipFile.ExtractToDirectory(allZipsPath + "\" + fileInfo.Name, dirName);
}
也许这对你有帮助:
string path = @"C:\..\..\myFolder";
if(!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
这就是您检查路径是否包含您期望的文件夹的方法。如果没有,它会创建该文件夹!
--- 编辑(如果不知道 zip-Name)---
string myPathToZip = @"C:\..\..\folderName";
foreach (string file in Directory.GetFiles(myPathToZip, "*.zip", SearchOption.AllDirectories))
{
//the current path of the zipFile (with the Name included)
var path = new FileInfo(file.ToString());
//The filename
var filename = Path.GetFileName(file.ToString()).Replace(".zip", "");
}