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

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

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

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


person Robin.S    schedule 19.06.2014    source источник


Ответы (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(); 
person AminM    schedule 19.06.2014

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

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

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

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

person Baldrick    schedule 19.06.2014