我有一个 SharpCompress 库,可以解压缩 7z 文件,但问题是有时我有一个文件名已损坏的存档,在 7z 管理器中它看起来像:
代码很简单:
ArchiveFactory.WriteToDirectory(file.FilePath, destinationDirectory, new ExtractionOptions { ExtractFullPath = true, Overwrite = true });
结果是
System.ArgumentException:路径中的非法字符
但只有名称已损坏,内容正确。所以 7z 管理器会处理它,将这些符号更改为 _ char。我的问题是 SharpCompress 可以用同样的方式处理这个问题,有没有办法在使用 SharpCompres 解包之前重命名存档中的文件。
或者在这个事实中,除了使用 7z 的 CLI 命令之外,还有什么方法可以处理这个问题?