Counter: 1202, today: 1, yesterday: 0

内容

目的

携帯で撮った写真をブログに載せる際の手間を少なくする。

使用イメージ

マイクロSDカードをPCにさして、gazou_up.batを起動(ダブルクリック)。

実行されること

1.マイクロSDカードからHDDへ画像の移動

gazou_up.batを実行したディレクトリの配下に実行日時のディレクトリ(20090321_23020440等)を作成し、マイクロSDカードのJPGファイルをすべてその配下に移動する。

例)
C:\Documents and Settings\日向充\My Documents\My Pictures\814T
配下に20090321_23020440を作成し、そこに
I:\PRIVATE\MYFOLDER\My Items\Pictures
配下のJPG画像をすべて移動。

2.画像のアップ

設定したベースURL(http://hinata.la.coocan.jp/814T/等)の配下に実行日時のディレクトリを作成し、その配下に画像をすべてアップする。

例)
http://hinata.la.coocan.jp/814T/20090321_23020440/090321_225235.JPG
http://hinata.la.coocan.jp/814T/20090321_23020440/090321_225107.JPG
http://hinata.la.coocan.jp/814T/20090321_23020440/090321_225048.JPG
http://hinata.la.coocan.jp/814T/20090321_23020440/090321_225014.JPG

3.ココログ画像貼り付け用タグを作成

実行日時のディレクトリ配下にtag.htm
を作成。

例)
C:\Documents and Settings\日向充\My Documents\My Pictures\814T\20090321_23020440\tag.htm

↑の写真に対応するタグをココログの編集画面に貼り付けると、ここの「■ツールで作成したtagを貼り付けた結果↓。」の箇所のように表示される。

(その画像が縦であるか横であるか分からないので両方のタグを作成。)

4.画像表示バッチの作成

実行日時のディレクトリ配下にhyouji.batを作成。

例)
C:\Documents and Settings\日向充\My Documents\My Pictures\814T\20090321_23020440\hyouji.bat

中は

for %%A in (*.JPG) do start "" "http://hinata.la.coocan.jp/814T/20090321_23020440/%%A"

のような内容。
これをダブルクリックすると2でアップした画像をすべてWeb上で表示する。
5-1で表示するけど、一度閉じた後も画像の表示だけしたいこともあるかと思い、作成。

5.実行結果の表示

  • 5-1.Web上の画像の表示
     2でアップロードした画像をすべてWeb上で表示する。
  • 5-2.HDD上に移動した画像の表示
     HDD上に作成したディレクトリを表示する。
    例)
    C:\Documents and Settings\日向充\My Documents\My Pictures\814T\20090321_23020440
  • 5-3.tag.txtの表示
    3で作成したtag.htmを開く。

導入方法

1.最新版gazou_up_xxxxxx.zipのダウンロード

をダウンロードする。

2.zipファイルの展開

任意のディレクトリにgazou_up_xxxxxx.zipを配置し、展開する。

例)
C:\Documents and Settings\日向充\My Documents\My Pictures\814T
にgazou_up_090324.zipを配置しダブルクリック。

3.展開されたファイルの確認

gazou_up.bat
gazou_up\make_ftptxt.pl
        makebat.pl
        maketag.pl
        putjpg.bat

の構成で1ディレクトリ、5ファイルが展開されることを確認する。

例)
C:\Documents and Settings\日向充\My Documents\My Pictures\814T\090324\gazou_up.bat
                                                                      gazou_up\make_ftptxt.pl
                                                                               makebat.pl
                                                                               maketag.pl
                                                                               putjpg.bat

4.Perlのインストール

Perlをインストールしていない場合、ここ等からPerlをダウンロードし、インストールする。

5.gazou_up.batの編集

gazou_up.batを右クリック→編集
により開き、環境に合わせて内容を編集する。
編集するのは以下の7変数。

REM =========ここから変数設定=========
REM (マイクロ)SDカードのパス
set SD_DIR=I:\PRIVATE\MYFOLDER\My Items\Pictures
REM ベースとなるWeb上のURL
set URL_BASE=http://hinata.la.coocan.jp/814T
REM Perl.exeの配置場所
set PERL="C:\Documents and Settings\日向充\My Documents\08.Perl\bin\Perl.exe"
REM [サーバ情報]アドレス
set SERVER_ADDR=ftp.la.coocan.jp
REM [サーバ情報]ユーザ名
set SERVER_USER=hinata.la.coocan.jp
REM [サーバ情報]パスワード
set SERVER_PASS=xxxxxxxxxx
REM [サーバ情報]ベースとなるディレクトリ(URL_BASEに対応するサーバ上のディレクトリ)
set SERVER_DIR=/hinata.la.coocan.jp/homepage/814T
REM =========ここまで変数設定=========

修正したら保存し、閉じる。

6.ツールの実行

gazou_up.batをダブルクリックし、上記に記述している実行されることがすべて実行されたら導入成功。

ディレクトリ構成

C:\Documents and Settings\日向充\My Documents\My Pictures\814T\gazou_up.bat                        ←これをダブルクリック
                                                              \gazou_up\putjpg.bat                 ←gazou_up.batから呼ばれるサブモジュール。(ユーザは意識しなくてOK)
                                                                       make_ftptxt.pl             ←同上
                                                                       makebat.pl                 ←同上
                                                                       maketag.pl                 ←同上
                                                                        putjpg.txt                 ←ツールの実行により生成される中間ファイル(ユーザは意識しなくてOK)
                                                                        ftp.log                    ←ツールの実行により生成されるログファイル(ユーザは意識しなくてOK)
                                                             \20090321_23020440\                  ←ツールの実行により生成される画像格納ディレクトリ
                                                                                hyouji.bat         ←ツールの実行により生成されるWeb画像表示バッチ
                                                                                tag.txt            ←ツールの実行により生成されるココログ用tagテキスト
                                                                                090321_225014.JPG  ←自動退避された画像たち
                                                                                090321_225048.JPG
                                                                                090321_225107.JPG
                                                                                090321_225235.JPG
                                                             \20090321_22513134\                  ←ツールを実行するたびにこういったディレクトリが作成される。
                                                                                                     (中身は20090321_23020440と同じ。)
                                                             \20090321_21582725\
                                                              ・・・・・・・・・
                                                              ・・・・・・・・・

ソースイメージ

gazou_up.bat

REM =========ここから変数設定=========
REM (マイクロ)SDカードのパス
set SD_DIR=I:\PRIVATE\MYFOLDER\My Items\Pictures
REM ベースとなるWeb上のURL
set URL_BASE=http://hinata.la.coocan.jp/814T
REM Perl.exeの配置場所
set PERL="C:\Documents and Settings\日向充\My Documents\08.Perl\bin\Perl.exe"
REM [サーバ情報]アドレス
set SERVER_ADDR=ftp.la.coocan.jp
REM [サーバ情報]ユーザ名
set SERVER_USER=hinata.la.coocan.jp
REM [サーバ情報]パスワード
set SERVER_PASS=xxxxxxxxxx
REM [サーバ情報]ベースとなるディレクトリ(URL_BASEに対応するサーバ上のディレクトリ)
set SERVER_DIR=/hinata.la.coocan.jp/homepage/814T
REM =========ここまで変数設定=========

REM =========ここから処理=========
REM マイクロSDカードの内容を表示
dir %SD_DIR%
REM 日付のディレクトリを作成
set DT=%date:/=%
set DT=%DT:月 =%
set DT=%DT:火 =%
set DT=%DT:水 =%
set DT=%DT:木 =%
set DT=%DT:金 =%
set DT=%DT:土 =%
set DT=%DT:日 =%
set DT=%DT: =%
set TM=%time::=%
set TM=%TM:.=%
set TM=%TM: =0%
set dirame=%DT%_%TM%
md %dirame%
REM SDカードから画像を移動
move "%SD_DIR%\*.JPG" .
REM ftpでサーバにアップ
cd gazou_up
%PERL% "make_ftptxt.pl" %SERVER_ADDR% %SERVER_USER% %SERVER_PASS% %SERVER_DIR% %dirame%
Call putjpg.bat
cd ..
REM 画像を日付ディレクトリに退避
move *.JPG %dirame%
REM 画像をWeb上で表示
cd %dirame%
for %%A in (*.JPG) do start "" "%URL_BASE%/%dirame%/%%A"
REM ブログ貼り付け用tagの作成
for %%A in (*.JPG) do %PERL% "../gazou_up/maketag.pl" %URL_BASE% %dirame% %%A
REM 配下のJPGに対応するWebページをすべて表示するbatの作成。
%PERL% "../gazou_up/makebat.pl" %URL_BASE% %dirame%
REM HDD上のディレクトリを表示
start "" "."
REM ブログ貼り付け用tag.htmの表示
start "" "tag.htm"

make_ftptxt.pl

#!/usr/bin/perl

$server="${ARGV[0]}";
$user="${ARGV[1]}";
$pass="${ARGV[2]}";
$base_dir="${ARGV[3]}";
$thistime_dir="${ARGV[4]}";

open(FW,">putjpg.txt");

print FW << "EOL";
open $server
$user
$pass
cd $base_dir
mkdir $thistime_dir
cd $thistime_dir
lcd ..
binary
prom
mput *.JPG
ls
disconnect
bye
EOL
close(FW);

※ このperlをgazou_up.bat内で起動している。

%PERL% "make_ftptxt.pl" %SERVER_ADDR% %SERVER_USER% %SERVER_PASS% %SERVER_DIR% %dirame%

のように実行することにより、putjpg.txtという名前で以下の内容のファイルができる。(%で囲まれている各変数はgazou_up.batの冒頭で設定している値。)

open ftp.la.coocan.jp
hinata.la.coocan.jp
■この行にパスワードが記載されている
cd /hinata.la.coocan.jp/homepage/814T
mkdir 20090321_23020440
cd 20090321_23020440
lcd ..
binary
prom
mput *.JPG
ls
disconnect
bye

putjpg.bat

ftp -s:putjpg.txt>>ftp.log

これは、、まったくバッチを分ける必要なかったかもしれないけど、モジュール分割していた方がデバッグや動作確認等楽だったので。。
(どうぶつの森の写真アップツールからの使いまわし。)

※ ftpはこのように呼べば、txtに記載された内容を実行する。

maketag.pl

tag.htmを生成するpl。(tag.htmについては上記を参照のこと。)

#!/usr/bin/perl

$URL="${ARGV[0]}/${ARGV[1]}/${ARGV[2]}";
$filename="${ARGV[2]}";
open(FW,">>tag.htm");
print FW << "EOL";
■$filename
<table>
    <tr>
        <td>
            <img title="$filename" height="75" alt="$filename" src="$URL" width="100">
        </td>
        <td>
<PRE>
&lt;a class="mb" href="$URL"&gt;
&lt;img title="$filename" height="75" alt="$filename" src="$URL" 
width="100" border="0" style="FLOAT: left; MARGIN: 0px 5px 5px 0px" /&gt;&lt;/a&gt;
</PRE>
        </td>
    </tr>
    <tr>
        <td>
            <img title="$filename" height="133" alt="$filename" src="$URL" width="100">
        </td>
        <td>
<PRE>
&lt;a class="mb" href="$URL"&gt;
&lt;img title="$filename" height="133" alt="$filename" src="$URL" 
width="100" border="0" style="FLOAT: left; MARGIN: 0px 5px 5px 0px" /&gt;&lt;/a&gt;
</PRE>
        </td>
    </tr>
</table>

EOL
close (FW);

※ このperlをgazou_up.bat内で起動している。

%PERL% "../gazou_up/maketag.pl" %URL_BASE% %dirame% %%A

のように実行することにより、上記で記述したtag.htmができる。(%で囲まれている各変数はgazou_up.batの冒頭で設定している値。%%Aはforの繰り返しで使用している変数。)

makebat.pl

各日時ディレクトリ配下にhyouji.batを作成するpl。(hyouji.batについては上記を参照のこと。)

#!/usr/bin/perl
#配下のJPGに対応するWebページをすべて表示するbatの自動作成。

open(FW,">>hyouji.bat");
print FW << "EOL";
for %%A in (*.JPG) do start "" "${ARGV[0]}/${ARGV[1]}/%%A"
EOL
close (FW);

※ このperlをgazou_up.bat内で起動している。

%PERL% "../gazou_up/makebat.pl" %URL_BASE% %dirame%

のように実行することにより、上記で記述したhyouji.batができる。(%で囲まれている各変数はgazou_up.batの冒頭で設定している値。)

改版履歴

090321(初版)

090323

tag.txtではなくtag.htmにしtableで画像とタグを並べて画像とタグのくくり付けをわかりやすくした。

以前のtag.txtのイメージはこちら
この日のメモ→メモメモ/2009-03-23

090324

メンテ性向上と、誰でも使いやすくするために環境ごとに設定する変数をすべてgazou_up.batの頭に集約。
あわせて、導入方法も記述。

#ref(): File not found: "readme_090324.txt" at page "携帯画像自動アップ&tag作成ツール"





添付ファイル: filetag_090524.htm 144件 [詳細] filegazou_up_090324.zip 95件 [詳細] filegazou_up.bat_090324.txt 97件 [詳細] filemaketag.pl_090324.txt 61件 [詳細] filemakebat.pl_090324.txt 68件 [詳細] filemake_ftptxt.pl_090324.txt 71件 [詳細] filetag.htm 183件 [詳細] filemaketag.pl_090323.txt 69件 [詳細] filegazou_up.bat_090323.txt 94件 [詳細] filetag.txt 39件 [詳細] filehyouji.bat 72件 [詳細] fileputjpg.bat_090321.txt 97件 [詳細] filemaketag.pl_090321.txt 68件 [詳細] filemakebat.pl_090321.txt 85件 [詳細] filemake_ftptxt.pl_090321.txt 77件 [詳細] filegazou_up.bat_090321.txt 78件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-22 (土) 20:36:33 (2589d)