web-dev-qa-db-ja.com

ファイルエクスプローラーでファイルを圧縮および分割する

Nautilusでファイルを右クリックして[圧縮]を選択すると、圧縮形式とファイル名を選択できるダイアログが表示されます。 [詳細設定]をクリックすると、ファイルを分割および圧縮するための設定がありますが、非アクティブ化されています。これらの機能を有効にするにはどうすればよいですか?

編集:以下の回答では、rarと関係があることが示唆されています。しかし、私はそれをインストールしていますが、分割するオプションがありません。

25

一部のアーカイブツールのみが分割をサポートします。それらの1つはRARです-パッケージrar(ただし、シェアウェアであり、40日後に購入する必要があります- buntuリポジトリのシェアウェア?(RAR) )と別の例は7Zipです-パッケージp7Zip-full。それらのいずれかをインストールする必要があります(完全に無料なので、7Zipをお勧めします)。

単一のアーカイブを作成し、splitコマンド(またはGUIの場合は HJSplit )を使用して、それを部分に分割することもできます。

18
Vojtech Trefny

分割オプションを有効にするには、ファイル拡張子のドロップダウンボックスから.rarを選択します。

enter image description here

8
aneeshep

マルチセグメントZipファイルの特定のケースを考慮すると、

これは main one に対する補完的な答えです。

メインの回答で既に述べたように、一部のアーカイブツールのみが分割をサポートし、メインGUIはZip形式のマルチセグメントアーカイブを作成できないようです。ただし、rarおよび7zなどの代替形式も使用できます。

また、ここで説明したものなど、一部のツールのみが複数セグメントのZipファイルから抽出できます。その点については、この回答の巻末注をご覧ください。

質問では、ファイルマネージャーのコンテキストメニューからアーカイブを処理する問題を具体的に取り上げているため、特定の目的をZipファイル:このようなコマンドは、成功した場合、コンテキストメニューエントリとしてファイルマネージャーに簡単に追加できます。

Zipツールを考慮すると、Zip my_archive.Zip -r <file> -s 20971519(詳細は この質問 のようなコマンド)を使用してマルチセグメントアーカイブを直接作成できますが、準備ができていないため、これらはまったく役に立ちません。抽出される(追加のZip -s 0コマンドが必要で、大規模な1ファイル抽出可能アーカイブを作成する- here で説明したように)、この制限を回避することはできません。これを知らない人にそのようなマルチセグメントアーカイブを送信することは無意味です。

メインの答えですでに提案されているように、別の方法は、ファイルを圧縮し、split(またはhjsplit GUI)。 (GUIをテストしましたが、非常に遅いことがわかりましたが、コンテキストメニューの目的にはGUIは必要ありません。)

アイデアは、ファイルマネージャのコンテキストメニューに、ワンクリックでエントリを追加することです。

  1. 選択したファイルを単一のZipファイルとして圧縮します。
  2. 指定された最大サイズの部分にZipファイルを分割します。
  3. マルチファイルアーカイブのみを保持するために削除します。

したがって、Thunarと、&&で接続されたこれらの3つのコマンドを使用したカスタムアクションでテストしました。

Zip -j my_archive.Zip %F && split -b 20m my_archive.Zip split.Zip && rm my_archive.Zip

(つまり、1つ以上の選択されたファイルに適用されますが、ディレクトリには適用されません。ディレクトリに適用するには、Zip -rオプションが必要です。

 Zip -r -j my_archive.Zip %F && split -b 20m my_archive.Zip split.Zip && rm my_archive.Zip

  • -jは、「パスをジャンク」するZipのオプションを表します。アーカイブするファイルの完全なパスを含む端末コマンドとは異なり、選択したファイルに%Fを使用するコンテキストメニューコマンドが追加されます-jが使用されていない限り、アーカイブのフォルダー内フォルダー構造。 (ソース: zipを作成-ディレクトリ構造を無視 );

  • my_archive.Zipは、まだ分割されていないアーカイブのカスタム名です。 splitコマンドがそれに適用され、その後、前者はrmで削除されます

  • %Fは、Thunarカスタムアクションで使用して、複数のファイルを圧縮するとしてZip;または、%fを使用して1つのファイルのみを選択します。

  • -b 20mは、示されているsplitによって作成された個別のアーカイブパーツのサイズを表します here ;

  • split.Zipは不要な仕様です。これは、最終的なマルチファイルアーカイブのカスタム名であり、split.zipaa, split.zipab, split.zipac...のような名前を付けます。これがないと、出力にはxという名前に、その後にaaフラグメントサフィックスが続きます:xaa, xab, xac...など。アルファベットの代わりに数値のサフィックスを使用するsplitオプション-dがありますが、エラーが発生します(明らかに、エクストラクターは数値のサフィックスを見ると標準のZipマルチセグメントアーカイブを期待するため- スティーブン・キット ;

  • rmmy_archive.Zipファイルに適用すると、目的のマルチセグメントアーカイブのみが残ります。


注意:

結果のマルチZIPアーカイブを抽出するには、aaセグメント化されたアーカイブをサポートするツールが必要です、Linuxではfile-roller、Windowsでは7-Zipなど。

1
user47206

Rarをunrarフリーまたは他の方法で交換してください。

これは簡単に行うことができます

Sudo apt-get install rar unrar-free
1
PvdL