извлечь защищенный паролем sfx-архив с помощью c#

#c# #sfx

#c# #sfx

Вопрос:

У меня есть файл SFX WinRAR. Я знаю, что могу извлечь архив, используя следующий код:

 Process process = new Process();
process.StartInfo.FileName = "unrar.exe";
process.StartInfo.Arguments = "x file.rar d:myFolder";
process.Start();
process.WaitForExit();   
  

Но как я могу извлечь SFX-файл, если у него есть известный пароль?

Ответ №1:

Предполагая, что ваш пароль — mypassword, вам необходимо изменить строку аргументов на это:

 process.StartInfo.Arguments = @"x -pmypassword file.rar d:myFolder";
  

Обратите внимание, что вы не должны ставить пробел -p после вашего пароля, иначе он предложит вам.

Я также добавил a @ , чтобы пометить строку как литерал, в противном случае он попытается обработать m in в имени файла как escape-символ.

Ответ №2:

вы можете использовать -p в качестве параметра
, предполагая, что ваш пароль 123456

 Process process = new Process();
process.StartInfo.FileName = "unrar.exe";
process.StartInfo.Arguments = "x -p123456 file.rar d:myFolder";
process.Start();
process.WaitForExit();