「./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