WinRAR - rar.exe コマンドラインを使用して、フォルダー内のすべてのアーカイブ内のすべてのファイルを抽出し、その後すべてのアーカイブを削除しますか?

WinRAR - rar.exe コマンドラインを使用して、フォルダー内のすべてのアーカイブ内のすべてのファイルを抽出し、その後すべてのアーカイブを削除しますか?

コマンドラインを使用しrar.exeて、フォルダー内のすべてのアーカイブ内のすべてのファイルを抽出し、抽出に成功した場合はすべてのアーカイブを自動的に削除したいのですが。試してみました-dfが、-drうまくいきませんでした。アーカイブにファイルを追加する場合にのみ、ファイルを削除するようです。

現在、私は (c#) を使用しています:

string.Format("e -p{0} \"{1}\" *.* \"{2}\"", pass, fi[n].FullName, fi[n].DirectoryName)

答え1

これらは、ファイルをアーカイブに追加する場合に、ファイルを削除するためだけのものと思われます。

確かにその通りですね

$ unrar --help | grep -i unrar
UNRAR 5.00 ベータ 8 フリーウェア Copyright (c) 1993-2013 Alexander Roshal
使用方法: unrar コマンド -switch1 -switchN アーカイブ ファイル...
$ unrar --help | grep del
$ unrar --help | grep unlink
$ unrar --help | grep rem

...何かを削除することについては何も言及されていません。

答え2

こんな感じでできると思います

  • Process クラスを使用して rar.exe を実行します。

  • プロセス.終了待ち

  • ファイルが抽出されたかどうかを検証する

    (手っ取り早くやりたい場合は、サイズを見積もるだけでもいいです...)

  • 検証に合格したらアーカイブを削除する

関連情報