[[7-Zip]]

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
software:7zip [2017/09/26]
ikatakos
software:7zip [2017/09/27] (現在)
ikatakos
行 7: 行 7:
 GUIからも操作できるが、コマンドラインの方が大量ファイルの連続処理などに向いているため、例をメモ。 GUIからも操作できるが、コマンドラインの方が大量ファイルの連続処理などに向いているため、例をメモ。
  
-[[https://sevenzip.osdn.jp/chm/cmdline/|Command Line Version User's Guide]]+  * [[https://sevenzip.osdn.jp/chm/cmdline/|Command Line Version User's Guide]]
  
 =====圧縮===== =====圧縮=====
 +====基本====
 +
 +  > 7z a (※) (圧縮ファイル名) (※) (元ファイル/フォルダ名 複数可) (※)
 +
 +==ワイルドカード==
 +ファイル名・フォルダ名にはワイルドカードを使える。パーサは7zの独自実装なので、OS標準のものと微妙に異なるが、細かいことなので、特に気にしなくてもよい。一応、OS標準では「*.*」は全てのファイルを表すが、7Zipではドットが含まれていないとHitしない。
 +
 +==スイッチ==
 +''(※)''の位置には、任意でスイッチと呼ばれる追加オプションを設定できる。スイッチは「-」にアルファベット数文字を加えた形であり、設定値がある場合は空白を**置かず**直後に続けて指定する。
 +
 +  * [[https://sevenzip.osdn.jp/chm/cmdline/switches/index.htm|Command Line Switches]]
 +
 +==上書きでなく追加==
 +最初の引数である「a」が圧縮を示すコマンドだが、これはAddの略である。つまり、同名の圧縮ファイルが既に存在するとそれに加える形で更新されてしまう。
 +
 +<code>
 +    > 7z a a.7z hotate.gif
 +                │
 +┌─ a.7z ─┐  ↓ ┌─ a.7z ─┐
 +│ika.png   │====>│ika.png   │
 +│tako.jpg  │     │tako.jpg 
 +└─────┘     │hotate.gif│
 +                   └─────┘
 +</code>
 +
 +既存ファイルを上書きしたり、ファイル名を変えるような機能は無いため、既存ファイルがある可能性がある場合は事前に確認する必要がある。
 +
 +アーカイブ内でのパスが等しい場合は上書きされるため、中身が全く同じだとわかっている場合は、そのまま更新してもよい。
  
 ====パスワード==== ====パスワード====
  
-''-p''の後に空白をおかずに指定+''-p''スイッチで指定
  
   > 7z a -pPASSWORD target.7z path/to/source   > 7z a -pPASSWORD target.7z path/to/source
行 19: 行 47:
 ====特定の名前のファイルのみ圧縮==== ====特定の名前のファイルのみ圧縮====
  
-  > 7z a target.7z path/to/source/(filename or wildcard) -r+  sourceフォルダ直下の.txtのみ圧縮 
 +  > 7z a target.7z path/to/source/*.txt 
 +   
 +  sourceフォルダ以下の.txtのみ圧縮 
 +  > 7z a target.7z path/to/source/*.txt -r
  
-''-r''を付けないと、source下のファイのみ対象になる。その方がいい場合は取る。 +''-r''を付けと、source下のサブダも再帰的に対象になる。
- +
-含みたいファイル群をひとつのwildcardだけで表現しきれない場合は、複数並べられる。 +
- +
-  > 7z a -r target.7z path/to/source1/(wildcard) path/to/source2/(filename)+
  
 ====特定の名前のファイルのみ除外==== ====特定の名前のファイルのみ除外====
行 31: 行 59:
 [[https://sevenzip.osdn.jp/chm/cmdline/switches/exclude.htm|-x (Exclude filenames) switch]] [[https://sevenzip.osdn.jp/chm/cmdline/switches/exclude.htm|-x (Exclude filenames) switch]]
  
-  > 7z a target.7z path/to/source -xr(filename) 
   > 7z a target.7z path/to/source -xr!(wildcard)   > 7z a target.7z path/to/source -xr!(wildcard)
   > 7z a target.7z path/to/source -xr@(path/to/listfile)   > 7z a target.7z path/to/source -xr@(path/to/listfile)
  
-''-x''加えて''r''を指定しないと再帰的に辿ってくれないので、普通は指定。+==再帰フラグ== 
 +''-x''スイッチのみの場合、圧縮ファイル内でのルートからの相対パスのみが除外判定対象となる。 
 + 
 +加えて''r''を指定する、フォルダを再帰的に辿って探す。どのフォルダがルートとるかわかりづら場合もあるので、不都合が無ければ基本は指定しておいた方がよい 
 + 
 +<code> 
 +C:\cwd                > 7z a a.7z dir1 -x!exclude.txt      => 除外されない 
 + `- dir1              > 7z a a.7z dir1 -xr!exclude.txt     => 除外される(両方) 
 +    |- include.txt    > 7z a a.7z dir1 -x!dir1\exclude.txt => 除外される(dir1直下のみ) 
 +    |- exclude.txt    > 7z a a.7z dir1\*.txt -x!exclude.txt   
 +    `- dir2             => 除外されない(ルートはdir1のため) 
 +       |- include.txt > 7z a a.7z C:\cwd\dir1\*.txt -x!exclude.txt 
 +       `- exclude.txt   => 除外される(この場合、ルートは各.txtとなる) 
 +</code>
  
 +==ワイルドカード、ファイルリスト==
 ''!''でワイルドカード、''@''で1行に1ファイル名を書いたリストファイルを指定できる ''!''でワイルドカード、''@''で1行に1ファイル名を書いたリストファイルを指定できる
  
行 43: 行 84:
   > 7z a target.7z path/to/source -xr^^!(wildcard)   > 7z a target.7z path/to/source -xr^^!(wildcard)
  
-ファイル・フォルダ名にスペースを含む場合、全体をクオートするか、パスの中のファイル・フォルダ名だけをクオートしても良い+==空白を含むパス== 
 +ファイル・フォルダ名にスペースを含む場合、全体をクオートするか、パスの中のファイル・フォルダ名をクオートする
  
   > 7z a target.7z path/to/source "-xr!space in vaders.png"   > 7z a target.7z path/to/source "-xr!space in vaders.png"
software/7zip.txt · 最終更新: 2017/09/27 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0