gpt4 book ai didi

c# - 解压目录中的所有 .zip 文件

转载 作者:太空宇宙 更新时间:2023-11-03 12:11:51 25 4
gpt4 key购买 nike

我正在努力配置一个脚本来将所有 .zip 存档解压缩到一个目录中,并将解压缩的文件放入另一个目录中。我想安排此脚本按计划运行以处理传入的 .zip 存档。

对于源目录中的每个 .zip 文件,我需要它将这些文件解压缩到目标位置,然后重复直到处理完所有 .zip 文件。

这是我可怕的尝试。

using System;
using System.IO;
using System.IO.Compression;

namespace Unzipper
{
class Program
{
static void Main(string[] args)
{
string startPath = @"C:\zipdirectory\";

foreach(String file in Directory.GetFiles(startPath, "*.zip", SearchOptions.AllDirectories)){allFiles.Add(file);

string zipPath = @"(output from above??)

string extractPath = @"C:\unzipdirectory\";

ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
}

最佳答案

首先,你得到所有.zip文件在 startPath

对于每个路径,将其解压缩到一个新文件夹,该文件夹由 C:\unzipdirectory\<zip_file_name_without_extension_zip> 等组合创建

static void Main(string[] args)
{
string startPath = @"C:\zipdirectory\";
string extractPath = @"C:\unzipdirectory\";
Directory.GetFiles(startPath, "*.zip", SearchOptions.AllDirectories).ToList()
.ForEach(zipFilePath => {
var extractPathForCurrentZip = Path.Combine(extractPath, Path.GetFileNameWithoutExtension(zipFilePath));
if(!Directory.Exists(extractPathForCurrentZip))
{
Directory.CreateDirectory(extractPathForCurrentZip);
}
ZipFile.ExtractToDirectory(zipFilePath, extractPathForCurrentZip);
});
}

关于c# - 解压目录中的所有 .zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51827792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com