IT系おじさんのチラシの裏
2018年10月~
当サイトの記事にはアフィリエイト広告のリンクが含まれる場合があります

zipコマンドでディレクトリを含まずに圧縮するには-jオプションを付ける

表題まんまの備忘録なのですが、ZIPコマンドでアーカイブを作る際、ディレクトリパスを含めないためには -j オプションを付ける必要があります。

Webサーバー上のHTML、画像などのファイル類、DBのバックアップ類を定期タスクで圧縮する運用をしているサイトは多いと思いますが、解凍時に余計なディレクトリが含まれていて困った経験はないでしょうか。

ぼくはあります。めちゃくちゃあります。いっつもこの -j オプションを忘れてしまうので、忘れないように記事に書いておこうと思います。

WindowsでZIPコマンドを使う方法

WindowsでZIPコマンドを使うためにはzip.exeとbzip2.dllが必要となります。

zip.exeとbzip2.dllのダウンロード先

■zip.exe
http://gnuwin32.sourceforge.net/packages/zip.htm

■bzip2.dll
http://gnuwin32.sourceforge.net/packages/bzip2.htm

zip.exeのインストール方法

上でDLしたzip.exeとbzip2.dllを同一フォルダにパスを通すのみです。
(もしくは同一階層下に配置して実行)

zipコマンドで複数ファイルを圧縮

■例

zip [ZIPファイル名] [ファイル名(ワイルドカード可)]

しかしこの場合、ディレクトリパスも一緒に格納されてしまい、c:\test1\test2\test3\*.*を圧縮したとしたら、解凍ディレクトリの下にtest1\test2\test3というディレクトリが作成された上で解答されます。

zipコマンドでディレクトリを含まずに圧縮する方法

■例

zip -j [ZIPファイル名] [ファイル名(ワイルドカード可)]

実に単純なのですが、-jオプションを付けるだけ。

これでZIPファイルの中にディレクトリ名は格納されなため、解凍時に余計なディレクトリ名が作成されずに済みます。

まとめ

  • Webサーバー上のZIPコマンド等で圧縮したZIPファイルを解凍すると余計なディレクトリ名が含まれていることがある。
  • WindowsでZIPコマンドを実行したい場合はzip.exeとbzip2.dllをDLする必要がある。
  • 解凍時に余計なディレクトリを作成させないためには圧縮時にあらかじめ -j オプションを付けて圧縮する。

といったところでしょうか。

今度こそZIPコマンドの -j オプションを忘れないようにしたいと思います。

関連記事

このブログで使っているWordPressプラグインの紹介

最近知り合いがWordPressをはじめたというので、このブログで使っているプラグインの一覧を共有しておこうかなと思い、記事にしました。 ぼくも初心者も良いところなので、変な組み合わせがあるかも

Windows 10 ProでWindows Updateの自動更新を停止する

先日、「突然Windowsのファイル共有が出来なくなったらネットワークプロファイルを確認」で書いたとおり、深夜のWindows Updateの影響でネットワークプロファイルが切り替わり、翌朝共有フォル

コメント

新しいコメントを投稿する

[新規投稿]
 
TOP