ディレクトリとフォルダーは同じもの

以下の表記でディレクトリと表現しているものは、すべてフォルダーと言い換えることが可能。

MS-DOSやWindowsの初期では、ディレクトリとゆっていた。

Linuxでもディレクトリという。

なんでディレクトリのことを、わざわざフォルダーと言い換えるのか、そのセンスの悪さに驚く。

Windowsのコマンドプロンプトでzipコマンドを使用可能にするための準備

目標設定

Zip for Windows
Bzip2 for Windows

Windowsのコマンドプロンプトでzipコマンドを使用可能にするためには、「zip.exe」「bzip2.dll」という2つのファイルを、 上記サイトの「• Binaries Zip」の「Zip」をクリックすることによってダウンロードする(2つのリンク先で同じことをする|詳細は下記)。 例えば、下記のようなディレクトリ構造をつくり、そのディレクトリにパスを通して(環境変数Pathを編集する)、PCを再起動する。 それが目標。

C:\zip
    bzip2.dll
    zip.exe

Windowsでは、コマンドラインでzipコマンドが使えない

【日本語】

macOSやLinuxでは、初期設定のままで、コマンドラインでzipコマンドが使える。

しかしWindowsでは、コマンドラインでzipコマンドが使えない点で、時代遅れのOSだといえる。

実際、WindowsでEPUBファイルをつくるための圧縮に、手間がかかる。

Windowsのコマンドプロンプトでも、コマンドラインのかたちでzipコマンドが使えるようにする。


【English】

On macOS and Linux, you can use the zip command on the command line with the default settings.

But on Windows, you can say it’s an obsolete operating system because you can not use the zip command on the command line.

In fact, it takes time to compress the EPUB file on Windows.

Make it possible to use zip command in the form of command line even at Windows command prompt.

「zip.exe」「bzip2.dll」を収めるためのディレクトリをつくる

コマンドプロンプトを立ち上げる - Google 検索

コマンドプロンプトを立ち上げて、以下の黒窓内をコマンドプロンプトの画面にコピペする。 ペーストするとき、マウスの右クリックで「貼り付け(p)」を使う。

c:
cd c:\
md zip

(1)Cドライブへ移れ
(2)Cドライブのルートへ移れ
(3)そこへzipというディレクトリをつくれ

環境変数pathを編集することにより、C:\zipにパスを通してPCを再起動する

hp.vector.co.jp/authors/VA029438/msdos/images/autoexec.html

環境変数pathを編集する - Google 検索

コントロールパネルを開いて、検索欄に「 システムの詳細設定の表示 」と入力すると、

(1)「システム システムの詳細設定の表示」と表示されるので「システムの詳細設定の表示」をクリック。
(2)「環境変数(N)」ボタン → 「システムの環境変数(S)」で、pathとかPathとかPATHを探して、その項目名をクリックして選択して「編集(I)」をクリック。
(3)立ち上がった窓の「変数値(V)」の中身を「Ctrl+A」「Ctrl+C」でコピーしてテキストエディタにペーストして編集したものを、同じ窓に戻す。
(4)最後は適宜「OK」「OK」をクリックして設定値を保存する。
(5)パスを通したあとは、システム(PC)を再起動する必要がある。

C:\Program Files (x86)\Common Files\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\JustSystems\JSLIB32;C:\Hugo\bin;C:\zip

「C:\Hugo\binにパスを通す」とは、この「変数値(V)」の最後尾に「C:\Hugo\bin;」という記述を追加して「OK」を押すことを意味する。
「C:\zipにパスを通す」とは、この「変数値(V)」の最後尾に「C:\zip;」という記述を追加して「OK」を押すことを意味する。

ドライブのルート「C:\」からのフルパス(例:C:\Hugo\bin)を書いて、末尾に「;」を付けて区切る。このことをパスを通すとゆっているだけ。

C:\zipにパスを通して、C:\zipに収められているzip.exeを、どこのディレクトリからも実行できるように環境を整える行為。 それが「C:\zipにパスを通す」という「下ごしらえ」「下準備」なのである。

Windowsのコマンドプロンプトでzipコマンドを使用可能にする方法

C:\zip
    bzip2.dll
    zip.exe

重要 以下の2つのリンク先において、まったく同様にして「• Binaries Zip」の「Zip」をクリックしてダウンロードする。 それぞれのzipファイルを解凍し、それぞれの解凍された内容の中から「zip.exe」「bzip2.dll」という2つのファイルだけを「C:\zip」にコピーする。 「C:\zip」には、事前にパスが通してある。 これで、Windowsのコマンドプロンプトでも、zipコマンドが使えるようになった。

Zip for Windows
Bzip2 for Windows

Windowsのコマンドプロンプトでzipコマンドを使用可能にする方法
Windows
コマンドプロンプト
zip

Windowsはzipファイルを右クリックで作成できるのに
コマンドラインからはzipを実行する事ができない。

zipをコマンドラインから実行できるようにするには
下記の手順が必要
1. zip.exeを下記のサイトからBinariesのzipファイルをダウンロードして任意のフォルダーに解凍
http://gnuwin32.sourceforge.net/packages/zip.htm
2. bzip2.dllを下記のサイトからBinariesのzipファイルをダウンロードして任意のフォルダーに解凍
http://gnuwin32.sourceforge.net/packages/bzip2.htm
3. 環境変数のパスが通った場所に解凍したzip.exeとbzip2.dllを格納する

Windowsのコマンドプロンプトでzipコマンドを使用可能にする方法 - Qiita)より引用

zip-3.0-bin|「zip.exe」だけが必要なファイル|ディレクトリ構造を見て「zip.exe」を見つけよう

Zip for Windows

C:\Users\lightworker\Desktop\フリーウェア\zip-3.0-bin
│  
├─bin
│      zip.exe
│      zip32z64.dll
│      zipcloak.exe
│      zipnote.exe
│      zipsplit.exe
│      
├─contrib
│  └─zip
│      └─3.0
│          │  zip-3.0-GnuWin32.README
│          │  
│          ├─zip-3.0
│          └─zip-3.0-src
│              │  BUGS
│              │  CHANGES
│              │  INSTALL
│              │  LICENSE
│              │  README
│              │  README.CR
│              │  TODO
│              │  WHERE
│              │  
│              ├─acorn
│              │      ReadMe
│              │      ReadMe.GMakefile
│              │      
│              ├─amiga
│              │      README
│              │      
│              ├─atari
│              │      README
│              │      
│              ├─atheos
│              │      README
│              │      
│              ├─beos
│              │      README
│              │      
│              ├─bzip2
│              │      install.txt
│              │      
│              ├─cmsmvs
│              │      README.CMS
│              │      README.MVS
│              │      README.MVS.LE
│              │      
│              ├─macos
│              │      readme.1st
│              │      README.TXT
│              │      
│              ├─msdos
│              │      README.DOS
│              │      
│              ├─novell
│              │      README
│              │      
│              ├─tandem
│              │      HISTORY
│              │      README
│              │      
│              ├─theos
│              │      README
│              │      
│              ├─unix
│              │  │  README.OS390
│              │  │  
│              │  └─Packaging
│              │          README
│              │          
│              ├─vms
│              │      build_zip.com
│              │      install_vms.txt
│              │      
│              ├─win32
│              │  │  readme.a64
│              │  │  README.NT
│              │  │  README.txt
│              │  │  README.TZ
│              │  │  
│              │  └─vc6
│              │          ReadmeVC.txt
│              │          
│              └─windll
│                  └─Vb
│                          readmeVB.txt
│                          
├─man
│  └─cat1
│          zip.1.txt
│          zipcloak.1.txt
│          zipnote.1.txt
│          zipsplit.1.txt
│          
└─manifest
        zip-3.0-bin.mft
        zip-3.0-bin.ver

bzip2-1.0.5-bin|「bzip2.dll」だけが必要なファイル|ディレクトリ構造を見て「bzip2.dll」を見つけよう

Bzip2 for Windows

C:\Users\lightworker\Desktop\フリーウェア\bzip2-1.0.5-bin
│  
├─bin
│      bunzip2.exe
│      bzcat.exe
│      bzcmp
│      bzdiff
│      bzegrep
│      bzfgrep
│      bzgrep
│      bzip2.dll
│      bzip2.exe
│      bzip2recover.exe
│      bzless
│      bzmore
│      
├─contrib
│  └─bzip2
│      └─1.0.5
│          │  bzip2-1.0.5-GnuWin32.README
│          │  
│          └─bzip2-1.0.5
│                  CHANGES
│                  LICENSE
│                  README
│                  README.COMPILATION.PROBLEMS
│                  README.XML.STUFF
│                  
├─include
│      bzlib.h
│      
├─lib
│      bzip2-bcc.lib
│      bzip2.def
│      bzip2.lib
│      libbz2.a
│      libbz2.def
│      libbz2.dll.a
│      
├─man
│  └─cat1
│          bzcmp.1.txt.lnk
│          bzdiff.1.txt
│          bzegrep.1.txt.lnk
│          bzfgrep.1.txt.lnk
│          bzgrep.1.txt
│          bzip2.1.txt
│          bzless.1.txt.lnk
│          bzmore.1.txt
│          
└─manifest
        bzip2-1.0.5-bin.mft
        bzip2-1.0.5-bin.ver

EPUBへの圧縮|Windowsのコマンドプロンプトで動くバッチファイルの中身

サクラエディタやTeraPadを使ってバッチファイルをつくる

サクラエディタ - Google 検索
TeraPad - Google 検索

※サクラエディタやTeraPadが無料だからオススメしているだけで、自分の好きなテキストエディタを使ってもいいのです。

EPUBパッケージ方法

※以下の内容で「rem」で始まるところは注釈ですので必要ありません。

サクラエディタ、TeraPadなどを使い、以下の黒窓内のコードを貼り付けて、適宜書き換え、「任意の名称.bat」というファイル名で保存するとバッチファイルになる。 バッチファイルをクリックすると、コマンドプロンプトでコマンドが実行される。

c:

rem *** moving to the directory where the mimetype file exists
cd C:\Users\lightworker\Desktop\EPUB3-ALL\darkcurrant\dc_template_01_winered_ep3_ebpaj_03

rem *** setting Name of EPUB-file
set EPUB-file=pompompudding

zip -0 -X ../%EPUB-file%.epub mimetype
zip -r ../%EPUB-file%.epub * -x mimetype

rem *** moving to the directory where the EPUB file exists
cd C:\Users\lightworker\Desktop\EPUB3-ALL\darkcurrant

このコマンドの流れは次の意味がある。

EPUBパッケージに必要なファイル群を収めたフォルダー ebook 内へ作業ディレクトリを移動する。
ファイル mimetype を一つ上の階層(フォルダー ebook の外側)に、 -0 で圧縮せず、-X でZIPヘッダにはextra fieldを付かない(ファイル属性を付けない)で ZIPコンテナ ebook.epub として保存する。
一つ上の階層(フォルダー ebook の外側)に、-x でファイル mimetype を除外した、全てのファイルを -r で再帰的に(フォルダー内も含めて)ZIPコンテナ ebook.epub として圧縮保管する。
作業ディレクトリを目的フォルダーの外側に移動して処理を終える。

EPUBパッケージ方法)より引用

上記のコードはzipコマンドが使えないと機能しない

以下のようにzipディレクトリをつくり、そこに必要なファイルを入れ、C:\zipにパスをとおしてPCを再起動させたので、 コマンドプロンプトでzipコマンドが使える状態になった。 その状態になっていないと、以上のコードは実行できない。

C:\zip
    bzip2.dll
    zip.exe

上記のコマンド群を改変するポイント

以上の黒窓内のコードの中で「変数」として書き換える部分。

(1)「set EPUB-file=pompompudding」のところで「pompompudding」というファイル名を指定している。 「pompompudding」の部分を、自分がEPUBファイルに与えたい名称(英数半角文字)に変える。 文字エンコーディングによって文字化けするなどしてトラブルを起こすので、ファイル名/ディレクトリ名(フォルダー名)に日本語を使うべきではない。

※日本語のディレクトリをつくってよいのは、自分のPCの中だけ。 サーバーに上げたり、他者に公開したりするソースの中では、けっして日本語のディレクトリ名を使わないこと。 日本語のディレクトリ名は、どこかで文字化けして、システムに不具合をもたらす、恐ろしいディレクトリ名なのだと覚えておこう。 PCの世界では、必ず英数半角で事を済ませるようにする。 けっして2バイト文字を使わない。

(2)「cd」というディレクトリを移動するコマンドの後段(フルパス)の部分を、EPUBファイルにZIPする対象となるファイル群が存在するディレクトリ(フォルダー)へのフルパスに書き換える。 フルパスとは、ドライブのルート(例:C:\)からの「目的のディレクトリ」までの「全表記の経路(path)」のこと。

EPUBファイルの解凍

EPUBファイルは、ZIPファイルである。 したがって、「.epub」 → 「.zip」というように、拡張子を書き換えて、そのZIPファイルを「すべてを展開」して解凍することによって、中身が見られるようになる。 その「中身」を圧縮する方法が、zipコマンドを使った上記のバッチファイルの説明である。 圧縮するときに、「mimetypeを先頭に置いて、かつ、圧縮しない」というEPUBの仕様が「変態仕様」で、これにみんなが振り回されている。 PCの規格を策定した人たちは、こんなクソ仕様は改訂して、「人間が苦労するのではなく、PCや電子書籍リーダーが苦労する」というふうにしてくれ。

Windowsでは、ファイル名、フォルダー名を選択して「F2」を押すと、ファイル名、フォルダー名、拡張子などを編集し、変更することができる。

pompompudding.epub


pompompudding.zip

最近のWZ EDITORのシリーズでは、EPUBファイルを解凍することなしに、中身のファイルを編集することが可能。 ただし、ふつうに解凍して編集し、再び圧縮しても同じだと思う。

WZ EDITOR - Google 検索

 
Where Am I?
comments powered by Disqus