7za.exe를 사용하여 "l"명령을 사용하여 zip 아카이브를 확인한 다음 "e"명령을 사용하여 압축을 풀어주는 C# 프로그램이 있습니다.7-Zip 7za 명령 줄에서 지정한 파일을 찾을 수 없음
나는 내 데스크톱에서 프로그램을 실행할 수 있으며 훌륭하게 작동하지만 서버에서 직접 실행하면 다음과 같은 예외가 있습니다. "시스템에서 실행할 수 없습니다. 지정된 파일을 찾으십시오 ". 파일 경로가 올 바르고 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 [내가] = C가 : \ 사용자가 바탕 화면 \ ZipFile.zip
어쩌면'7za.exe '를 찾을 수 없다. – manojlds
원래 생각했던 것,하지만 그것이 파일 의미를 찾을 수 없다고 말한 것 같아요. 7za.exe – buzzzzjay
@buzzzzjay : manojlds가 맞습니다. 예외가 발생하면 '7za.exe'를 찾을 수 없으므로 프로그램을 시작하지 못했습니다. '7za.exe'가 성공적으로 시작 되었다면 stdout (리다이렉트 한 것)이나 stderr (그렇지 않은 것)에 에러 메세지를 얻지 만 예외는 아닙니다. –