カテゴリー
Windows

Windows で使える jpegtran 用上書き bat ファイル。

The same article in English
投稿アップデート情報  追記(2016/10/29)

 ご存知, jpegtran , UNIX/LINUX 系ではどうか知らないが, Windows で使うとすごーく不便。元フォルダに上書きしてくれる bat ファイルを,自分用に作ってみた。
@echo off
setlocal enabledelayedexpansion
pushd %~dp0
for %%a in (%*) do (
set OutFile=%%~na%%~xa
jpegtran -copy none -optimize -outfile !OutFile! %%a
for %%b in (!OutFile!) do set fileSize=%%~zb
if !fileSize! LSS %%~za (copy !OutFile! %%a>nul)
del !OutFile!
)
popd
exit
 この bat は,基本的には,作られたファイルで元ファイルを上書きする。ただ,ときどき元ファイルよりサイズが大きくなる場合があるので,その場合は元ファイルを残す。 1 遍に処理できるファイル数は高々 100 程度。その辺は, cmd.exe の文字数制限のせいのような気がする。

 bat ファイルの使い方:

  1. テキストエディタを使い上記のコードで bat ファイルを作る。名前は, ‘jpegtran.bat’ ナンチャラ。ここから落とした txt ファイルの拡張子を bat に変えて使っても OK 。
  2. 作った bat ファイルを jpegtran.exe と同じフォルダに入れる。
  3. 最適化したい jpeg ファイルを, bat ファイルのアイコンにドラッグ&ドロップする。
  4. 以上

 もしこの bat を利用される場合は,「上書きするので,元ファイルは残らない」ということに留意してください。

 サイトの jpeg ファイルを全部最適化した。おかげさんで, PageSpeed Insights の図に関する小言も消えたし,パチパチ。

参考:
   1. DOS コマンド一覧
   2. Jpegtran のヘルプ

追記(2016/10/29):
 結構需要のある記事なので,使い方の追記を書くことにした(爆)。基本的には, jpeg ファイルを jpegtran.bat 上にドラッグ&ドロップするだけなのだが,以下のような使い方もできる。
 jpegtan.exe と jpegtran.bat の入ったフォルダは PC 内のどこにおいてもよい。ただ,デスクトップに jpegtran.bat のショートカットを作っておくと便利である。ショートカットは bat 自身と同じように使える。
 この bat は,処理したい jpeg の入っている範囲で検索をかけて見つかったものを「すべて選択」してドラッグ&ドロップすれば,一括処理も可能である。

「Windows で使える jpegtran 用上書き bat ファイル。」への9件の返信

こんにちは

唯一batを書いたのは前の会社。
よくネットワークが通じなくなるので自分できりわけできるようにネットワーク診断用を書いてあげました。

今はシェルばっかりですね。当然ですけど、しかし、
unixならとかソラリスならとかmacosならと微妙に違いが
ありますので注意が必要ですね。

それとコードを書いたとしても数十行ですからね。
c言語とかhtmlとかphpとかの
コードがながすぎると苦痛です(笑い)

くりくりさん,こんにちは。

久しぶりに bat 書きましたよ。まぁ, sh より機能は少ないですが,ちょこっとやらせるには便利です。もっとも,Windowsのバージョンごとに拡張されてきて,便利になった半面,汎用的に書く場合は,結構面倒らしいです。今回の場合は,全くの私用なので特に問題ないですが。

ところで,台風は一応抜けたみたいですが,大丈夫でしたか。

おはようございます。

多少進路からずれた北関東だったんで雨くらいでした。
直撃?だったぽく南関東の方が被害がおおきいみたいです。

シェルの方は
メンテナンス用にシェル書いて後はcronでうごかすだけですからね。batはタスクスケジューラーというのがあるみたいですね。
http://www.atmarkit.co.jp/ait/articles/1305/31/news049.html

くりくりさん,こんにちは。

> 多少進路からずれた北関東だったんで雨くらいでした。
それは,よかったです。本日,我がほうは,秋晴れです。「一片の雲もなし」とはいきませんが。
昨日は,「後の月」だったんですが,見忘れました。久しぶりに puppy linux を弄っていたら,忘れてしまいました(爆)。

> batはタスクスケジューラーというのがある
これ,とーきどき使いますが, VISTA から見かけが変わって,いまだに使い慣れない私です。

そうそう,「フローリアンのパッチ」というのが,foo='() { echo not patched; }'
bash -c foo
で調べた件で, CentOS だと 2 つ目のパッチで対処したようですね。あとは,情勢を見ながら,待ちの一手でしょうか。

おはようございます。

>puppy linux
初めて知りましたが、日本語版もでてるし、
デスクトップ環境をみると結構充実してそうですね。

>後の月
俺は両方みてません(笑)

くりくりさん,こんばんは。

> デスクトップ環境をみると結構充実してそうですね。
軽いんです。ちょっと,心づもりがあって,LOOX T93B を引っ張り出してきたんですが, puppy でもきびしいなぁと思いながらいじってます。

> 俺は両方みてません(笑)
ハハ,おりよく,今夜は,月食ですよぉ。しかし,我がほうは雲が出てきちゃいました。どうなりますやら。
皆既月食 2014年10月8日

おはようございます。

あら!!
月食を記事にされてると思いきましたが、
まだなのかな?

todosの方にも書きましたが、散歩中みることができました。
ただ、朧月のような?三日月のような?感じでいわれないとわからなかったでしょう。

今回は散歩中みれたのでよかったです。

くりくり,こんにちは。

はーい。やっと書きました。
なにしろ,撮影に失敗して,大した画像もなかったので, Puppy と抱き合わせにしようかなとか思ってて,遅くなっちゃいました m(_”_)m。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です