フラットディレクトリ7zファイルにファイルを追加する7zコマンドライン

フラットディレクトリ7zファイルにファイルを追加する7zコマンドライン

「./data/x.txt」ファイルを「./data/x.7z」パスに圧縮したいと思います。

走っている間

7z a ./data/x.txt.7z ./data/x.txt

「./data/x.txt」ファイルを保存します。

data/x.txt

そして(私が欲しいもの)だけでなく

x.txt

ただし、7zはx.7zファイル内の "./data"ディレクトリパスを無視したいと思います。明確にするために、x.txtを追加するときに7zは7zファイルのディレクトリ構造を平坦化したいと思います。

可能ですか?

ベストアンサー1

考えられる解決策の1つは、圧縮する前にいくつかのディレクトリでchdirを実行することです。たとえば、

$ cd data; 7z a ../test.7z *
$ 7z l ../test.7z
...

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2011-02-18 15:29:53 ....A            6           11  x.txt
------------------- ----- ------------ ------------  ------------------------
...

別の方法には、他のアーカイバ(例:rar便利なコマンドラインスイッチがたくさんあります。)次のオプションを使用して問題を解決できます-ep/-ep1

$ rar a -ep test.rar data

または

$ rar a -ep1 test.rar data

ヘルプセクションrar:

  ep            Exclude paths from names
  ep1           Exclude base directory from names

おすすめ記事