問題タブ [7zip]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
24077 参照

batch-file - バッチファイル内のフォルダとファイルを反復処理しますか?

これが私の状況です。プロジェクトには、一部の添付ファイルを別のシステムに移行することを目的としています。

これらの添付ファイルは親フォルダに配置され、たとえば「」と言います(理解を深めるためにこの質問の図Folder 0を参照してください)。これらの添付ファイルは圧縮/圧縮されます。

バッチスクリプトを次のように呼び出したい:

7za.exeコマンドライン抽出ツールとして使用しています。

バッチスクリプトで実行したいのは、 " Folder 0"のサブフォルダーを反復処理し、含まれているすべてのZIPファイルをそれぞれのフォルダーに抽出することです。

抽出されたファイルは、それぞれのZIPファイルと同じフォルダーにある必要があります。したがって、「」に含まれるファイルは「File 1.zip」などに必要ですFolder 1

FOR...DOのコマンドについて読みましたWindows XP Professional Product Documentation - Using Batch Files

これが私のスクリプトです:

ファイル抽出のために7za.exee%zippedFileを呼び出す前に、実際のディレクトリも変更する必要があると思いますが、このバッチファイルでその方法を理解することはできません(コマンドラインでの方法を知っていても、知っていても)同じ命令「cd」です)。

編集#1

ServerFault私はすでに同じ質問に対するいくつかのヒントを受け取りました。このリンクで回答を参照してください。

ただし、パラメータフォルダで指定されたものからではなく、ルート(C:)から抽出されました。

誰かアイデアがありますか?

編集#2

バッチスクリプトは、スペース文字を含むフォルダ名とファイル名を適切に処理していないようです。誰かが私の考えを確認できますか?

編集#3

これが使用されるディレクトリ構造がわからないため、完全に再帰的である必要があります。

編集#4.a

@aphoriaのソリューションで、私はもうすぐそこにいます!唯一の問題は、たとえばFile5.zip、取得するためだけにファイル名を取得し、サブフォルダーをFile5作成してサブフォルダーFile5に抽出するFile5.zip必要があることですFile5。次に、でFile5サブフォルダーを作成Folder 1する必要があります。代わりに、サブフォルダーを作成する必要がありFile1ます。私の例に固執します。 。

編集#4.b

必要に応じて、現在のコードは次のとおりです。

アイデアは誰ですか?

私の推測では、一度に1つのディレクトリ階層を掘り下げます。これが取引です。Folder Ain Folder 1(Folder 1 \ Folder A)があるとすると、それはから検索しFolder 1Folder 5に戻りFolder 1\Folder Aます。ここで、%subfolder%変数は最後の値を保持します。

皆様のご協力に感謝申し上げます。

0 投票する
1 に答える
1902 参照

objective-c - C/Objective-C で LZMA (7zip) 暗号化アーカイブをデコードするためのパスワードを渡す方法は?

LZMA SDKのデコード機能にパスワードを渡す方法を知っている人はいますか?

0 投票する
3 に答える
9138 参照

iphone - iPhone (iOS) 用の 7-ZIP (LZMA) 圧縮

iPhone (iOS) で動作する 7-Zip (LZMA) の実装があるかどうか知っている人はいますか?

0 投票する
5 に答える
53096 参照

c# - 7zip を使用してファイルを圧縮するサンプル C# .net コード

私のマシンの C:\Program files に 7-zip 4.65 をインストールしました。ファイルを圧縮するために C# コードで使用したいと考えています。ファイル名は、ユーザーによって動的に提供されます。C# コードで 7zip を使用する方法のサンプル コードを教えてください。

0 投票する
2 に答える
1109 参照

lgpl - 独自のアプリケーション内から 7-Zip を呼び出すことのライセンスへの影響

独自のアプリケーション内で 7-Zip を使用したいと考えています。

7-Zip は LGPL です

私のアプリケーション内で、system()次のようなものを使用してコマンド ライン インターフェイス経由で呼び出すとします。system( "7-Zip -blah -blah" );

  1. この方法で 7-Zip を使用した場合、LGPL に基づく義務はありますか?
  2. ユーザーが 7-Zip を個別にインストールする必要がないように、アプリケーションと共に 7-Zip の 7z.dll と 7z.exe を配布したい場合、LGPL に基づく義務はありますか?

ありがとう

0 投票する
2 に答える
18369 参照

java - Androidで7zipアーカイブを解凍するには?

7zip異なるディレクトリに分割された数百のファイルを含むアーカイブがあります。ターゲットは、FTP サーバーからダウンロードして、電話で抽出することです。

私の問題は、7zipSDK に多くが含まれていないことです。7z ファイルの解凍に関する例、チュートリアル、スニペットを探しています。

(解凍Intentは二次的なオプションにすぎません)

0 投票する
1 に答える
5247 参照

java - Javaで複数のファイルとディレクトリを含む7zipアーカイブを解凍します

Java で複数のファイルとディレクトリを含む 7zip/lzma アーカイブを解凍したいと考えています。公式の 7zip SDK を使用しようとしましたが、私のプログラミング スキルはこのテーマに関してはそれほど進んでいないため、失敗しました。ただし、LzmaOutputStream/LzmaInputStream について言えば、Java でのサポートを容易にするいくつかのライブラリを見つけましたが、これらの「ストリーム」を使用して複数ファイルのアーカイブを解凍する方法がわかりません。ハマった。

0 投票する
2 に答える
4790 参照

java - JAVA での 7Zip の実装

LZMA SDK を 7zip Web サイトからダウンロードしましたが、残念なことに、これは圧縮と解凍のみをサポートし、AES 暗号はサポートしていません。Javaで完全にAES暗号を使用した7zipの実装があるかどうかは誰にもわかりませんか?. ありがとう。

よろしく、カル。

0 投票する
1 に答える
3291 参照

compression - どの圧縮形式を使用する必要がありますか。DEFLATE (.zip) を休ませる必要がありますか?

ほとんどの Linux ディストリビューションが、パッケージの圧縮に LZMA2 を優先して gzip と bzip2 をドロップし、多くのプラットフォームで多くのオープン ソースの実装が行われていることを考えると、DEFLATE と.zipフォーマット (残念なことに何度も荒廃してしまった) を休ませるべきではないでしょうか。 (ソース) パッケージを配布する他の最新の方法に移りますか?

GNU tar は、(別の LZMA2 コンプレッサー) をフィルターとしてJ使用するスイッチをサポートしています。xz

7zただし、私は(p7zip 実装)を使用する傾向があり、7zaLinux ではアーカイブを作成するのに適しています。アーカイブを作成するときは、「tar-bombs を回避する」パラダイムを引き続き使用します。つまり、そのアーカイブにディレクトリがあるため、コマンドラインから抽出しても、現在のディレクトリにファイルが流出することはありません (これは、次のような Linux の標準的な操作方法tarです)。 、しかし、Windowsで行うことはあまり一般的ではないようです)。

とにかく、パッケージ (Fedora RPM や Ubuntu DEB など) での使用、および のようなツールのフィルターtarにより、LZMA2 が bzip2 の後に使用されるようになる「次善のもの」であるようです。圧縮率が高く (標準設定では bzip2 をはるかに凌駕)、非常に高速です (圧縮は gzip よりもわずかに遅く、

私は自分でいくつかのベンチマークを行いましたが、より広範なベンチマークにスポットを当てたいと思います。

ここで、参照実装である7-zipが最初に表示されないことに気付くでしょう。ただし、Freearc は独自の.arc形式を使用しているため、実際にはクロス プラットフォーム対応ではなく、80 年代の古いARC と互換性がありません。nanozip はオープン ソースではありません。これは一種の不況ですが、重要なのはアーカイバではなく、アルゴリズムです!

とにかく、7-zip とその派生実装 ( xz ) のパフォーマンスはもはや問題ではなく、圧縮率がそれ自体を物語っているので、ソース パッケージを.7zまたは.tar.xzアーカイブとして配布したいと思います。しかし、私の前には 2 つのハードルがあり、それを乗り越えることができないようです。

  1. WinRAR の支持者。誤解しないでほしいのですが、私は WinRAR やそのユーザーに恨みはありません。Linux で RAR を実際に作成することはできませんし、無料の LZMA2 ツールがあるため、作成する必要もありません。そして、私が言ったように、ディストリビューション パッケージの不可欠な部分になったので、最新のディストリビューションで利用できます。を作成するのにかかる時間は.7za.rarとほぼ同じで、LZMA2 ファイルは一般的に小さいため、7-zip を使用しない理由がわかりません。

  2. tar アーカイブは zip または bzip2 である必要があり、例外はありません。これは難しい問題です。多くの人が gzip に感銘を受けているのはなぜですか? ほとんどの場合、bzip2 でさえあまり使用されません。確かに、gzip は高速であり、Web サーバーや大規模なミラー バックアップを作成する場合など、オンデマンドで圧縮する場合に適しています。しかし、ソフトウェアの配布はどうでしょうか? LZMA2 は非常に非対称です。圧縮には時間がかかりますが、解凍は非常に高速です。

OK、ここに私の質問があります:

LZMA2 は間違いなく次に優れた圧縮アルゴリズムであるのに、なぜ人々は電車に飛び乗らないのでしょうか? プロプライエタリであり、圧縮率が低く、Linuxに移植されていないWinRARをまだ使用しているのはなぜですか(ただしunrar、明らかにそれでアーカイブを作成することはできません)。Tarball のほとんどがまだ gzip されているのはなぜですか?

クロスプラットフォームであるだけでなく無料の、より新しく信頼できるアーカイブ形式に移行するよう人々を説得する方法はありませんか? 末尾が.7z.

ああ、これが私が自分で行った小さなベンチマークです。どこでもデフォルト設定を使用しました。

(サイズ (バイト); ファイル名:Archiver_Format_Algorithm.Extension )

ファイルのセットは、DOS インストールを含むディスク イメージで構成されます。

(バイト単位のサイズ)

0 投票する
2 に答える
12107 参照

c++ - 7z SDK を使用して rar/zip ファイル (C++) を抽出するにはどうすればよいですか?

小さなクロスプラットフォームのコミックブックリーダー (Qt / C++) を書こうとしています。すでにそこに何があるかは気にしません。いくつかあることは知っています。

私の問題は、rar および zip ファイルに名前が変更されたコミック形式を読む必要があることです。

ドキュメントは非常に...存在しないのですか?「こんにちはアーカイブ」ドキュメントはどこにもありません。どうすればこれを設定できますか?

私が特定のOSを使用していると想定しやすくなる場合は、そうしてください。開発作業のために、Kubuntu、OSX、および Win7 を常に切り替えています。