|
Counter: 237,
today: 1,
yesterday: 1
内容 †目的 †携帯で撮った写真をブログに載せる際の手間を少なくする。 使用イメージ †マイクロ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" のような内容。 5.実行結果の表示 †
導入方法 †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を右クリック→編集 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>
<a class="mb" href="$URL">
<img title="$filename" height="75" alt="$filename" src="$URL"
width="100" border="0" style="FLOAT: left; MARGIN: 0px 5px 5px 0px" /></a>
</PRE>
</td>
</tr>
<tr>
<td>
<img title="$filename" height="133" alt="$filename" src="$URL" width="100">
</td>
<td>
<PRE>
<a class="mb" href="$URL">
<img title="$filename" height="133" alt="$filename" src="$URL"
width="100" border="0" style="FLOAT: left; MARGIN: 0px 5px 5px 0px" /></a>
</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のイメージはこちら。 090324 †メンテ性向上と、誰でも使いやすくするために環境ごとに設定する変数をすべてgazou_up.batの頭に集約。 #ref(): File not found: "readme_090324.txt" at page "携帯画像自動アップ&tag作成ツール"
|