フォルダ内のすべてのファイルを取得して、[〜#〜] rar [〜#〜]アーカイブにプッシュする必要があります。
これは私の現在の方法です:
"C:\Program Files\WinRAR\Rar.exe" a -r -md2m -s -m5 -ma4 -t ..\Releases\vCommands.rar bin\
...ここで、binは私のフォルダーです。別のプログラム用ですが、 this も試してみましたが、結果は同じです。
明確にするために、ここに写真があります:
左上の。rarファイルには、binがあります。 -)すべてのファイルを含むディレクトリ。
右下の。7zファイルでは、これらのファイルはすべてアーカイブルートにあります。
必要なのは、フォルダーではなく。rarアーカイブルートにあるすべてのファイルを、その中でバッチファイルを実行せずにbinフォルダ。
マニュアルを3回読んだ後、-ep
スイッチを見つけました。
-ep Exclude paths from names. This switch enables files to be added
to an archive without including the path information. This
could, of course, result in multiple files existing in the
archive with the same name.
私の知る限り、パスはディレクトリおよびファイル名を参照しているため、最初にこれを誤解しました。ファイルから名前が完全に削除されると考えていました。
(この信念は、他のアーカイブ形式での私の経験によるものです)
ただし、pathとは、作成者はdirectoryを意味します。
警告の言葉です。すべてのディレクトリ情報(サブディレクトリからでも)が削除され、ファイル構造がフラットになります。
これがコマンドラインスイッチを介して実行できるとは思いません。
あなたがしなければならないことは、ディレクトリコマンドを実行し、結果をテキストファイルに出力することです。次に、winrarを介してテキストファイルからこれらの結果をプルし、個別にアーカイブに追加します。
これを使用して、ファイルリストをファイルに出力しますdir /s /b >> filelist.txt
それらを圧縮するには。 "C:\Program Files\WinRAR\Rar.exe" a -r -md2m -s -m5 -ma4 -t ..\Releases\vCommands.rar @filelist.txt
私はこれをテストしていませんが、これが正しい方法だと思います。
使いやすくするために、WindowsのPath変数にrar.exeを追加します。
アーカイブするディレクトリを入力します。この場合のTestDirectory
\TestDirectory> rar a -m1 -vn -r ..\somber.rar ..
または
rar a -m1 -vn -r somber.rar