【问题标题】:Extracting a zip file from another directory, it copies the name of the zip file e.g App1.zip but i just need App1 no zip从另一个目录中提取 zip 文件,它会复制 zip 文件的名称,例如 App1.zip 但我只需要 App1 没有 zip
【发布时间】:2016-07-05 19:32:09
【问题描述】:

我提取了一个名为 App1 的 zip 文件,当我提取它时,文件夹名称变为 App1.zip。有什么办法可以从新文件夹名称中删除.zip

我试过了

File.Replace(OutputFolder, ".zip", " ");

代码:

if (extension == ".zip")
{
    if (CreateFolderForZipFile == true)
    {
        ZipFile.ExtractToDirectory(path, path.Replace(InputFolder, OutputFolder));
    }  // if
    else if (CreateFolderForZipFile == false)
    {
        ZipFile.ExtractToDirectory(path, Path.GetDirectoryName(path.Replace(InputFolder, OutputFolder)));
    }  // elseif

这会创建一个不是 zip 但名为 App1.zip 的文件夹

【问题讨论】:

    标签: c# zipfile


    【解决方案1】:

    试试

    ZipFile.ExtractToDirectory(path, Path.GetDirectoryName(path.Replace(InputFolder, Path.GetFileNameWithoutExtension(OutputFolder))));
    

    或者干脆做

    OutputFolder = Path.GetFileNameWithoutExtension(OutputFolder);
    

    如果可以在原行之前修改OutputFolder的内容。

    编辑: 如果您真的很绝望,可以尝试将第 4 行更改为:

    ZipFile.ExtractToDirectory(path, path.Replace(InputFolder, OutputFolder).Replace(".zip","");
    

    【讨论】:

    • 感谢您的回答,但不幸的是这些没有用:(
    • @Nicola 我很惊讶。可以在此处调试代码并在提取之前复制“OutputFolder”的内容吗?
    • OutputFolder "C:\\DECC\\Output" 字符串 但返回的是这个字符串。替换返回的 "Output\\1\\2\\App1.zip" 我想删除 .zip
    • 还有你的代码我把东西放在我的 Visual Studio 项目调试文件夹中?
    • 天啊,非常感谢,ZipFile.ExtractToDirectory(path, path.Replace(InputFolder, OutputFolder).Replace(".zip","")) 为我工作。我将扩展名改为“.zip”,这样看起来更好。非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多