gpt4 book ai didi

c# - 7-Zip 7za 命令行找不到指定的文件

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

我有一个使用 7za.exe 的 C# 程序,它使用“l”命令检查 zip 存档,然后使用“e”命令解压缩它。有关 7-Zip 命令行的信息可在以下位置找到:http://www.dotnetperls.com/7-zip-examples

我可以从我的桌面在服务器上运行该程序并且运行良好,但是直接在服务器上运行它会出现以下异常:“系统找不到指定的文件”。我已验证文件路径正确并且正在传递给 7za.exe。我已将 7za.exe 作为嵌入式资源附加到我的项目中,但不确定为什么找不到这些文件?有任何想法吗?谢谢!

这里是我必须验证的代码,我可以打开 zip 存档,解压缩除了 l 是 e 之外,大部分都是一样的。

Process l = new Process();
l.StartInfo.FileName = "7za.exe";
l.StartInfo.Arguments = "l " + filePath[i];
l.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
l.EnableRaisingEvents = true;
l.StartInfo.UseShellExecute = false;
l.StartInfo.RedirectStandardOutput = true;
l.Start(); // This is were it throuws the exception because it can't find the file.
// Do stuff to verify zip archive is not corrupt
l.WaitForExit();

例如:filePath[i] = C:\Users\Me\Desktop\ZipFile.zip

最佳答案

“嵌入式资源”只能与 .NET 资源 API 一起使用,它不会创建单独的文件,也不能被普通的 Windows 函数找到,例如 CreateProcess(这是Process.Start 使用什么)。

关于c# - 7-Zip 7za 命令行找不到指定的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7390209/

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