映画とネットのDIARY(tDiary版)

since 2004/07/15
ここは古い日記です。2013年11月からadiaryを使った新サイトに移行しました。
検索エンジンからのアクセスで、お探しのキーワードが見あたらない場合はNamazuで再検索してみてください。
映画の感想一覧 2004年7月以降 2005年  2006年  2007年  2008年  2009年

2004年07月18日 [Sun]

日記ファイルダウンロードのバッチファイル

 考えてみた。まず、以下のようなコマンドを書いたファイル(ファイル名は例えば、get.scr)を用意する。hogeはユーザー名、pass1234はFTPパスワード。
user hoge pass1234
cd /home/hoge/diary/2004
get 200407.td2 c:/test/200407.td2
bye
 で、以下のようなバッチファイル(例えば、get.bat)を作る。hoge.bar.ne.jpは接続するFTPサーバー。
ftp -n -s:get.scr hoge.bar.ne.jp
 この2つのファイルをC:\testというフォルダに置き、get.batをダブルクリックすれば、2004年7月の日記ファイルがC:\testにダウンロードされる。  一応成功したので、拙作のftp.mac(ファイルをアップロードする秀丸マクロ)と同様の書式でマクロが書けるはず。

tDiaryファイルをダウンロードする秀丸マクロ

 というわけで、書いてみた。
//ftpget.mac ver.0.1 (C)2004 hiro
//接続するサーバー
$server = "foo.bar.ne.jp";
//ローカルのダウンロード先フォルダ。\ではなく、/を使うこと。
$drive = "c:/diary";
//ユーザー名
$user="hoge";
//パスワード
$passwd="pass1234";
//ダウンロードするサーバーのディレクトリ
$ftpdir ="/home/hoge/diary";
//------------設定終了-------------------
$year=year;
$month=month;
$ftpdir2 = $ftpdir + "/" + $year;
$filename = $year + $month + ".td2";
$getfile = $ftpdir2 + "/" + $filename;
$localfile = $drive + "/" + $year + "/" +$filename;
$scriptfile = "get.scr";
openfile "";
insert "user" + " " + $user + " " + $passwd ;
insert "\n";
insert "cd" + " " + $ftpdir2;
insert "\n";
insert "get" + " " + $filename + " " + $localfile;
insert "\n";
insert "bye";
saveas hidemarudir + "\\" + $scriptfile;
question $filename + "をダウンロードしますか?";
	if(result == yes){
	runsync "ftp -n -s:get.scr" + " "+ $server;
		if (!result){message "FTPに失敗しました\n設定を確認してください。";}
		else{message $getfile + "をダウンロードしました。";
		openfile $localfile;
		}
}else{endmacro;}
endmacro;
 このマクロの場合、ローカルにC:\diary\2004というフォルダ(別のドライブのフォルダでも可)がないと、ダウンロードに失敗するので、あらかじめ作っておく必要がある。マクロの中でフォルダを作成してもいいけど、そうすると長くなるので、ここでは割愛。

ファイル形式

 上のようなマクロで日記ファイルがダウンロードできるのだから、それに書き足してアップロードすれば、日記が更新できそうなのだが、tDiaryのファイルは1カ月分がまとまっているので、月末になるとFTPが大変。それに1日分の日記の先頭に
Date: 20040718
Title: 
Last-Modified: 1090121035
Visible: true
Format: tDiary
 みたいなコマンドがあるのでこれを書き換える工夫も必要になる。好みの問題だが、hnsのように1日1ファイルの方が融通は利きますね。

[管理人にメールする] [シネマ1987online]