ブログじゃない方のWebサイトの更新,フリーソフト「FFFTP」を使っています.普段の利用では不自由感じませんが,番組改編期に声優情報を更新する際には不自由を感じます.
声優革命と痛い名前のWebページのデータはExcelで管理しており,そのExcelマクロで更新分のHTMLを生成するつくりにしています.FFFTPで更新分のHTMLをアップロードしようと,アップロード先のディレクトリを開くと,ディレクトリ情報を取得するのにだいぶ待たされるんです.声優2000人超に対応する2000件超のファイルが一つのフォルダに入っているためです.ただ,アップロードしたいファイルは判っているので,アップロード先ディレクトリの情報取得は不要なんです.不要ですが,それをOffにするスイッチを見つけられませんでした.
というところを改善するため,もうFTPコマンドを直接打ったらいいじゃないかと.試しに,日々の日記の更新のため,トップページ,カレンダーページ,日記本文だけをアップロードするコマンドを書きました.そして,それをFTPコマンドにオプション指定で渡すバッチコマンドも書きました.と,日記の更新,バッチファイル叩くだけで済みます.楽.もっと前からやっておけば良かったです.
ftp.txt |
---|
open (server) (port) mhasac.html.xdomain.jp (password) lcd D:\Homepage put top.htm lcd D:\Homepage\diary\17 cd /diary/17 put cal07.htm put diary07.htm disconnect quit |
doftp.bat |
ftp -i -s:ftp.txt |
ただ,落とし穴が一つ.あまりに楽だったので,月を跨いでもうっかりこのバッチを叩くだけにしてしまっていました.と,コマンド内のファイル名が前月のままなので,肝心の当月のページが更新されない罠.コマンドがバッチ内に直接書けるなら,「%date~5,2%」で取得した月を埋め込むという技が考えられるんですけど.
ということでググッてみたら,その手があったか的な方法が紹介されていました.ずばり,FTPコマンドファイル自体をバッチファイルで作ってしまえと.なるほど.よし,今日からはこれで行こう.他のファイルの更新があるときはFFFTPを使わなきゃいけないってのだけは忘れないように.
doftp.bat |
---|
set YY=%date:~2,2% set MM=%date:~5,2% echo open (server) (port)>ftp.txt echo mhasac.html.xdomain.jp>>ftp.txt echo (password)>>ftp.txt echo lcd D:\Homepage>>ftp.txt echo put top.htm>>ftp.txt echo lcd D:\Homepage\diary\%YY%>>ftp.txt echo cd /diary/%YY%>>ftp.txt echo put cal%MM%.htm>>ftp.txt echo put diary%MM%.htm>>ftp.txt echo disconnect>>ftp.txt echo quit>>ftp.txt ftp -i -s:ftp.txt del ftp.txt |