ファイルを解凍するプログラムを作成しようとしています。winzip コマンドラインを使用する必要があります。引数コマンドを cmd に送信しようとしましたが、cmd がコマンドを認識していなかったため、機能しませんでした。コマンドを手動で貼り付けると、機能します。
var process = new ProcessStartInfo("cmd.exe");
var command = "/c WZUNZIP -spassword" + "\""+ "C:\my path\file.zip" + "\"" + " " + "\"" + "C:\my path" + "\"";
process.UseShellExecute = false;
process.Arguments = command;
Process.Start(process);
.bat ファイルを作成してプログラムでこのファイルを実行しようとしましたが、以前と同様に、プログラムで実行して手動で起動すると機能しませんでした。
start cmd.exe /c WZUNZIP -spassword "C:\my path\file.zip" "C:\my path"
var process = new ProcessStartInfo("cmd.exe", pathToBatch);
Process.Start(process);
おそらく、C# で .bat ファイルを実行する最良の方法です。
ファイルのエンコードを提供するのは winzip だけなので、winzip を使用する必要があります。DotNetZip を使用しようとしましたが、uzip 中に、ライブラリがこのファイルを操作できないため、解凍できないという例外がスローされました。