使用 zip 存档中的文件作为参数运行 exe



这似乎是一个非常具体的问题,我似乎找不到任何完全相关的解决方案(或者至少不知道要搜索什么(。

所以,我有一个程序可以打开嵌套的zip存档并找到特定的文件。从这些文件类型之一中,我需要使用旧的 C 程序提取相关数据,我已将其编译为.exe并包含在项目中。但是,它是一个命令行程序,其中相对文件路径作为参数输入。在我的代码中,文件以字节流的形式出现,因为存档作为一个整体提取起来很大。

我似乎找不到任何关于我将如何处理这些流的线索,以便程序可以在不解包的情况下提取它们。目前我的代码如下:

foreach (ZipArchiveEntry entry in archive.Entries)
{
if (entry.FullName.EndsWith(".fileending", StringComparison.OrdinalIgnoreCase))
{
filePresent = true;
Process p = new Process();
p.StartInfo.FileName = "fileExtract.exe";
p.StartInfo.Arguments = ?
p.Start();
}
}

有什么方法可以做我正在尝试的事情,还是我需要找到另一种方法?

由于旧的C程序需要从文件系统中读取,因此您必须在某个地方创建一个文件(也许使用System.IO.Path.GetRandomFileName?(并将该路径提供给程序。

或者,重写旧的C程序以使用stdin,就好像它是一个文件一样,尽管你可能会遇到编码问题,并且可能会遇到矛盾的"我如何告诉它文件名?"的时刻:P

最新更新