● 「IrfanView」による、コマンドラインでのデジカメ画像の一括縮小(というか一括リサイズ) ~VBAプログラムやUWSCからも使えます~
※間違いがあったらすみません。

目次
● 「IrfanView」による、コマンドラインでのデジカメ画像の一括縮小(一括リサイズ) ~VBAプログラムやUWSCからも使えます~
 (00)処理の概要
 (01)まず、Dドライブに、「写真一括縮小用フォルダ」フォルダを作成します。
 (02)IrfanViewを以下のサイトからダウンロード
 (03)インストーラの指示どおりに普通にインストール。(Win10で試しました。)
 (04)IrfanViewを起動。
 (05)「ファイル」→「形式/名前の一括変換 」をクリック。
 (06)「詳細設定」ボタンのクリック
 (07)リサイズ設定
 (08)「ファイル形式の一括変換」ダイアログを閉じる
 (09)「写真一括縮小用フォルダ」フォルダへのデジカメ写真のコピー
 (10)バッチファイルの内容をまずテキストファイルに書いて保存
 (11)バッチファイルとしての拡張子に変更
 (12)動作テスト
 (13)IrfanView で使える全てのコマンドラインオプション
※Shift+TABキー、もしくは、Homeキー、Homeキー+TAB数回、を押すと、目次付近に戻れます。
  
  
(00)処理の概要
「IrfanView」の日本語版を使うと、デジカメ画像の一括変換ができますが、それがコマンドラインからも実行(処理)できます。

「コマンドラインから実行」とは、「命令を文章として書いて、パソコンに自動実行させる」、ということです。

そして、「文章で命令できる」ということは、「VBAプログラムや、UWSCからも自動実行させられる」、ということにもなります。

例えばデジカメで撮った写真を保管するのに、デジカメ画像の容量が大きいので縮小(リサイズ)したいとします。

でもそのような容量の大きな画像が100個あったとします。

で、1画像あたりが約2MBあったとします。全部で約200MB。

これを1画像あたり数十KBにして、全部で数メガバイトに縮小したいとします。
(画質はそれほど落とさずに)

100個もの画像を1個1個縮小するのは、クリックや入力設定などを何回もしなければならず、非常に面倒です。

IrfanViewのコマンドライン機能(文字記述式命令機能)では、そのような場合に複数の画像ファイルを一括で、バッチファイルを利用することで一括自動縮小をすることができます。

バッチファイルを使うとダブルクリックを一回するだけで全部を処理できます。
(バッチファイル=Windows標準機能で動く、コマンドライン命令の自動実行機能・自動実行ファイル、のことです。)

コマンドライン機能とバッチファイルを使うと、例えばですが、『ある特定のフォルダにデジカメ写真をコピーさえしておけば、ダブルクリックを一回するだけで、その全ての画像ファイルを、指定したフォルダに、指定したサイズに縮小する・・・』といったようなことができます。

そしてバッチファイルでやれる、ということはVBAプログラムやUWSCでもやれるということなので、何らかのコマンドボタンを押したときに、他の命令と一緒に処理もできる・・・ということにもなります。

これは本当に便利です。

画像の一括変換がコマンドラインから実行できると、ExcelVBA、AccessVBA、WordVBA、UWSC(オートパイロットソフト)のプログラムなどからも、クリックや入力設定なしで、自動的に複数の画像ファイルの一括変換ができるようになり、ものすごく省力化が図れます。

例えば、Excelのあるセルやフォームに、JPEG写真画像のフォルダアイコンをドラッグすると、あらかじめ用意したフォルダに自動的にその内容をコピーしてくれて、その後、自動的にリサイズが始まり、完了した画像をファイルサーバにネットワーク経由で自動的にコピーしてくれる、などといった連続自動処理も可能です。

ちなみにですが、「IrfanView」は縮小だけでなく、色あいなどの一括変換もできるようです。

なお、2MBの写真が100個ある場合、その全体の容量は200MBですが、これを、長辺を640ピクセルの画像に一括縮小(リサイズ)すると、全体の容量は60KB平均×100個で、6MB程度になります。

200MBに対して6MBですので、これは相当に小さくなります。

30分の1強の容量にまで小さくなることにります。これはすごくサーバにやさしいです。

なおかつ、ほとんどの写真は、これくらいでも十分に内容を確認できます。

リサイズすると目的の部分が見えなくなってしまう写真だけ、あとでオリジナルサイズの写真を上書きすればいいのです。

写真ファイルの容量が大きいと、例えばそういったファイルを大量・頻繁にファイルサーバに出し入れすると、サーバがクラッシュする確率が高まりますし、ネットワークも行き交うデータ量がものすごく増えてしまうので不具合が起きる確率が高まります。

クライアントパソコンの台数が2、3台ならいいですが、20台、30台と増えてくるとちょっと心配です。

20台、30台が一斉に集中的に動き出す時間帯が特に心配です。
(数100メガを簡単に超えてしまう動画ファイルなどは、もはや、動画専用にファイルサーバを新設したほうがいいかもしれません。)

「どうしても必要な画像ばかり」とか、「どうしても大きく拡大された画像が必要」ということばかりではないはずなので、基本的に画像をファイルサーバに保存する際は、このようにリサイズしてからサーバに送ります。

(ExcelやWordのファイルも同じ観点から、xlsm、xlsa、docx、に写真をたくさん貼り付けると容量が増えてしまうので、必要なファイル以外はxlsやdocなど古い拡張子のファイルで保存することも検討します。写真の貼り付けが多いファイルだけでもそうします。

==============

では以降、そのやり方です。

Dドライブに「写真一括縮小用フォルダ」フォルダを作り、そしてそこにコピーしたいデジカメ写真全てをコピーし、そのフォルダの中の「縮小後ファイル」サブフォルダにリサイズした写真を複製する例です。

元画像の写真フォルダは、そのまま残りますので、いくらでもやり直しがききます。

※ここでは、Windows10+「iview444_setup.exe (32bit版)」とWindows2000+「iview425j.exe」でテストしました。Windows8、7、Vistaも多分同じような感じだ思います・・・。

※リサイズすると横長と思った写真が縦長にリサイズされてしまう場合があるようですが、この場合は、横長に表示している「ソフトのせい」で錯覚というか誤認させられているかもしれません。実際の写真ファイルをペイントで開くと多分、縦長で撮影されていると思います。iPhoneで撮った写真などでこのような現象が起こることがあります。Win10の「フォト」アプリではちゃんと縦表示されると思います。Photo Editer だと縦長撮影した写真が横長に誤って表示されることがあります。

===========
  
  
(01)まず、Dドライブに、「写真一括縮小用フォルダ」フォルダを作成します。
そしてその中に、さらに、「縮小後ファイル」というフォルダ(サブフォルダといいます)を作ります。
  
  
(02)IrfanViewを以下のサイトからダウンロード

英語表記の画面でもよろしければ、また、窓の杜の日本語化ファイルを使うならご自分のOSのbit数に合わせてダウンロードします。(一般的には64bitと明記してないほうが32bitです。ここでは、iview444_setup.exe が32bit用で、iview444_x64_setup.exe が64bit用です。)

http://forest.watch.impress.co.jp/library/software/irfanview/

窓の杜の日本語化ファイル
(IrfanView Ver4.40用 日本語モジュール=irfanview_lang_japanese.exe)
http://forest.watch.impress.co.jp/library/software/irfanview/download_11222.html

次の「jpn44401.zip」で日本語化する場合は、IrfanViewの本体は 32bit版(64bitじゃないほう)をダウンロードします。「iview444_setup.exe」というファイルです。
「jpn44401.zip」では64bitのほうだと、日本語化ができないためです。

http://irfanview.html.xdomain.jp/から日本語化ファイルもダウンロードします。
「・Download IrfanView Ver4.44用 初版 (2017/01/03)」をクリック
「jpn44401.zip」というファイルです。

(03)インストーラの指示どおりに普通にインストール。(Win10で試しました。)

ここでは32bit版の「iview444_setup.exe」を64bitのWindows10で試します。
「iview444_setup.exe」をダブルクリックしてインストールを開始します。
インストールフォルダは「C:\Program Files (x86)\IrfanView\」と出ていることを確認し、次へ
たくさん英語が出てきますが、次へ
ファイルの拡張子が出てきますが、何もチェックを入れずに、次へ
「Set INI file folder」にて「IrfanView folder」に丸ポチを入れて、次へ
「Done」ボタンを押してインストール完了です。

あとは、ダウンロードした窓の杜の日本語化ファイル「irfanview_lang_japanese.exe」をダブルクリックして日本語化するだけです。ダブルクリック→UAC→「Install」ボタンの押下で完了です。(irfanviewのインストール先へコピーしたりする必要はありません。そのままどこに置いてもいいので、「irfanview_lang_japanese.exe」をダブルクリックします)

※「jpn44401.zip」で日本語化する場合は、日本語化ファイルの「jpn44401.zip」のrademe.txtに書いてあるとおりに日本語化します。

※古い日本語バージョンの例えば「iview425j.exe」をWindows10にインストールする場合は、イントールファイルの「iview425j.exe」を右クリックして、「管理者として実行」でインストールします。

でないと途中で
「'C:\Progam Files\irfanView\i_view32.exe'が見つかりません。名前を正しく入力したかどうかを確認してから、やり直してください。」
というエラーになってインストールできません。

Windows7や8でも同じかもしれません。

※注意!!! 必読!!! インストールフォルダとこれ以降の読み替えについて
「iview444_setup.exe」も「iview444_x64_setup.exe」も「iview425j.exe」も、インストールするOSのビット数によっては、インストールが完了した時点で「C:\Program Files\IrfanView」フォルダにインストールされることがあります。
その場合はこれ以降も、「C:\Program Files (x86)\IrfanView\」を「C:\Program Files\IrfanView」と読み替えてください。(特にバッチファイルを作る箇所では注意してください。)
  
  
(04)IrfanViewを起動。
こんなアイコンです。

  
  
(05)「ファイル」→「形式/名前の一括変換 」をクリック。
「ファイル形式の一括変換」ダイアログが表示されます。
  
  
(06)「詳細設定」ボタンのクリック
「画像形式の一括変換の設定(ファイル形式の一括変換の設定)」の欄の「詳細設定を使用する(大量リサイズ用)」のチェックマークを入れて、「詳細設定」ボタンをクリック
「一括変換の詳細設定」ダイアログが表示されます。
  
  
(07)リサイズ設定
「リサイズ」のチェックマーク入れて、「比率(%)で指定(元画像との比率(%)で指定)」に丸ポチを入れて、「幅」に例えば「30」と入力します。自動的に高さにも30と入ります。
そしてダイアログ画面の右下の「OK」ボタンを押します。

この場合だと縦と横の長さが、元画像の30%程度の大きさになります。

ただ、ここでは、「高さでも幅でも、長い辺のほうが640ピクセルになって、短いほうはそれに合わせた比率で自動的に設定される」・・・というリサイズ設定に変えたいと思います。

そのほうが、元の画像がどんな大きさであれ、リサイズ後の容量が30~100KB程度に収まるからです。

この設定にするには、

再度「詳細設定」ボタンをクリックして「一括変換の詳細設定」ダイアログを表示し、「リサイズ」のチェックマーク入れて、「比率で指定(元画像との比率(%)で指定)」ではなく、「サイズの指定(大きさの指定)」に丸ポチを入れ直します。

その中の「長い方を指定(長い側を指定)」にも丸ポチを入れて、その行の「高さ」の列に640と入れます。
単位としては「ピクセル」に丸ポチが入っていればOKです。
全部できたらダイアログ画面の右下の「OK」ボタンを押します。
これで、縦だろうと横だろうと、長いほうの辺が640ピクセルの形でリサイズされます。
短いの方の辺は、長いほうに合わせて自動的に長さが変わります。

※●参考01

ここでの「%」は、長さの比率なのですが、容量だと5%くらいに小さくなります。
例えばですが、1.5MBくらいの容量の画像を30%のリサイズで処理すると、60KB~140KBくらいの容量の画像になります。
(テストでは142個のJPEG写真293MBを30%にリサイズすると、12MBくらいになります。でも画質はそれほど落ちていません。多少は落ちますが、気にならない程度です。ただ、もちろん、縦と横の長さは短く・小さくなります。)

※●参考02

また、「長い側を指定」を利用すると、もとの画像の容量がどれだけ大きくても、長辺が指定したピクセル数になります。
横はその長さに準じて自動設定されます(縦横比率は維持されます)
例えば長辺に840ピクセルを指定すると、もと画像が2MB前後の場合、60KB~140KBくらいにリサイズされます。
640ピクセルで指定すると、もと画像が2MB前後の場合、すべて100KB以下になります。
もちろん、縦長の写真でも、縦が840や640になります。

すべての画像の写真の縦横の大きさが同じになるため、のちほどの資料確認がしやすいので、この設定項目を使うのが、のちのち一番面倒が少なくて良いような気がします。

※●参考03
縦と横が同じピクセル数の写真でも、写っている写真の色合い(?)によって、ファイルの容量は変わります。
単一の色あいが多い写真、例えば青い空ばかりの写真ならファイル容量は小さくなります。
逆に、色が複雑にからみあう写真、例えばレンガや鉢などが沢山ある、いろんな花が植えてあるガーデンの写真なら、ファイル容量は大きくなります。
アニメの絵も、単一色の連続ですのでファイル容量は小さくなります。
  
  
(08)「ファイル形式の一括変換」ダイアログを閉じる
「ファイル形式の一括変換」ダイアログを「×」ボタンか、画面左下の「実行」ボタンで閉じ(閉じれるほうで閉じます)、IrfanViewも閉じます。
  
  
(09)「写真一括縮小用フォルダ」フォルダへのデジカメ写真のコピー
Dドライブの「写真一括縮小用フォルダ」フォルダに、縮小したいデジカメ写真をコピーします。デジカメのSDカードなどからコピーします。

※このとき、ファイルの形式はJPEG形式(拡張子が「.jpg」)しか使えません。BMP画像(拡張子が「.bmp」などは小さくできません。デジカメの画像はどんなデジカメももとからJPEG形式(拡張子が「.jpg」)なので問題ありません。
  
  
(10)バッチファイルの内容をまずテキストファイルに書いて保存

新しいテキストファイルを作ります。
その中に以下のように2行、記述します。

作ったフォルダの場所と名前をこの例と同じにしたなら、コピペでもかまいません。
変えたなら、コピペ後にフォルダのフルパスだけ書き換えてください。

記述したら、「画像一括変換.txt」という名前で保存します。

※●参考

ちなみに、各命令やオプションの意味は次のような感じです。

i_view32.exe → IrfanView のプログラム本体の名前
C:\Program Files (x86)\IrfanView → i_view32.exeが格納されている場所。
*.jpg → すべてのJPGファイル
/advancedbatch → 「一括変換の詳細設定」ダイアログの設定を使え
/convert → つぎの場所に変換して出力せよ

訳すと、

"C:\Program Files (x86)\IrfanView\i_view32.exe" を使って、
"D:\写真一括縮小用フォルダ\の全てのJPEG形式の写真ファイルを、
「一括変換の詳細設定」ダイアログの設定を使って、
"D:\写真一括縮小用フォルダ\縮小後ファイル\"に、JPEGファイルとして一括自動変換(ここでは縮小)で書き出しをしなさい。
"D:\写真一括縮小用フォルダ\縮小後ファイル"フォルダを開きなさい(2行目)

という感じです。

なお、"C:\Program Files (x86)\IrfanView\i_view32.exe" は、Windows8や7等かつ64bit版の場合だと、x86 みたいな語句が余計に付くかもしれません。(32bit版は 「C:\Program Files (x86)\」 で良いと思います。)
パソコンに詳しい人に聞いてみてください。
  
  
(11)バッチファイルとしての拡張子に変更
作ったテキストファイルの拡張子をtxtからbatに変更して上書き保存します。
「画像一括変換.txt」を「画像一括変換.bat」に変える、ということです。

このとき「拡張子を変更すると、ファイルが使えなくなる可能性があります・・・」といったようなメッセージが出ますが、かまわず「はい」で強制的に保存します。
  
  
(12)動作テスト

「画像一括変換.bat」をダブルクリックします。

Dドライブに、「写真一括縮小用フォルダ」フォルダの全ての画像ファイルが、「縮小後ファイル」というフォルダに縮小されて書き出されていることを確認してください。(自動的に「縮小後ファイル」フォルダが開くと思いますので・・・。)

画像が全部ちゃんとリサイズされていたら成功です。

※縮小率は、C:\Program Files (x86)\IrfanView\フォルダの、「i_view32.ini」を編集することでも変更できます。
そのファイルを開いて、

AdvResizePercW=30
AdvResizePercH=30

と書いてあるところを

AdvResizePercW=10
AdvResizePercH=10

と書き直して上書きすれば、10%の縮小でさらに小さくなります。

もちろん、(03)~(07)の手順でクリックやキー入力で変更しても同じです。

ZIP版のIrfanViewをダウンロードしても、基本的には同じです。
"C:\Program Files (x86)\IrfanView\i_view32.exe"をZIPを解凍した場所に変えるだけです。

ひとまず以上です。
  
  
(13)IrfanView で使える全てのコマンドラインオプション

以降は、ヘルプに書いてあったコマンドラインでの命令の一覧です。ご参考にしてください。