2009年8月アーカイブ

windowsのバッチファイルにやらせることなんてたいした内容じゃないんだけど、いかんせん文法が貧弱すぎて簡単なことなのに時間を食うのがいつものパターン。忘れないようにメモっておくよ。

ファイル生成をする際に、時々連番を使ったファイル名を使用したいという場合がある。まぁ大抵の場合、エクスプローラー上での見た目をよくするため、前ゼロ使って桁数を揃えるわけです。

先にコード載せるとこんな感じ。
http://gist.github.com/175608

@echo off
:: test of "sequence number file"
setlocal enabledelayedexpansion 
 
set prefix=C:\path\to\hoge.
set extension=.bk
set pad=2
 
for /l %%i in (1, 1, 15) do (
	set num=00000%%i
	set file_path=%prefix%!num:~-%pad%!%extension%
	echo !file_path!
)
 
pause

実行結果は

C:\path\to\hoge.01.bk
C:\path\to\hoge.02.bk
C:\path\to\hoge.03.bk
C:\path\to\hoge.04.bk
C:\path\to\hoge.05.bk
C:\path\to\hoge.06.bk
C:\path\to\hoge.07.bk
C:\path\to\hoge.08.bk
C:\path\to\hoge.09.bk
C:\path\to\hoge.10.bk
C:\path\to\hoge.11.bk
C:\path\to\hoge.12.bk
C:\path\to\hoge.13.bk
C:\path\to\hoge.14.bk
C:\path\to\hoge.15.bk
続行するには何かキーを押してください . . .

後はfile_pathを好きなコマンドに料理させてあげればよい。
前ゼロ付きまくりな数値を右から指定桁分取り出すだけだが、ちゃんと動かすまでに時間かかっちゃったなぁ...。

::でコメントになるって今まで知らんかった...。こっちの方がremよりも見やすくて良い。しかし、doブロック内で::使うとエラーになるのがなんだかなぁ...。

forループ中に宣言した変数を正しく展開するには
setlocal enabledelayedexpansion とやって遅延環境変数の展開機能を有効化しないとまずいらしい。展開するときは%ではなく!を使う。これを知らなくてすげーハマった。


参考:
連番フォルダ作成バッチ:.knowledge - frog.raindrop.jp
[窓] DOSでのforループ | 今日もねむひ(-。-)zZZ
CMD.EXEの遅延環境変数の展開 - KOBUN

fooの語源

| コメント(0) | トラックバック(0)

何かサンプルコードを書くときに、どうでもいい変数にはよくhogeやらfugaやらpiyoを名付けるのが定石となっているが、英語圏なら foo barがよく使われる。こーゆうどうでもいい変数のことをメタ構文変数(Metasyntactic variable)とも呼ぶらしい。

先のAcme大全2009から知ったんだけどfooとかbarって RFC で言及されているのね。初めて知ったよ。

参考:
rfc3092.txt
ジョーク RFC

blogが吹っ飛んで夏休みの思ひ出が書けなかったので載せておこう。

acme_2009_book.jpg

Perl本が出ると聞いて、この間、初めてコミケに行ってみた。暑くて死ぬかと思った。

Perlの世界でAcmeという名前がつくモジュールは基本的にネタモジュールだ。
Re: What does the "Acme" category represent? - nntp.perl.orgでも

Acme:: modules are nonsense modules, which though sometimes are technically interesting, may not be intended for serious work.

お仕事じゃつかえねーよ!と書かれている。

最近なら誰得と表現した方がピッタリかも。それにしてもよくもまぁこれだけ調査したなぁと思う。trivia好きにはたまらん本だね。

Perl本購入後は高校のメンバーと合流して、店番やったり、その後飲んでいたりしていた。

-----
おまけ
2p3p.jpg
コミケに行く前に秋葉原の配線屋で買ったアース2p3p変換プラグ。これ、会社でよく見かけるからありふれたものなのかなぁと思ってたんだけど、なかなか珍しい部類に入るのねー。一個800円以上もするとは思わなかったわ...。
逆(3p→2p)ならよく見かけるのにねぇ...。

夏風邪

| コメント(0) | トラックバック(0)

どうも忙しくなくなるとやっぱり風邪をひくらしい。
しばらくは早めに寝てさっさと治そう...。

# 午前休使って昼間に会社に行ったが、電車内が異様に寒く、腹をこわした。
# 風邪よりも腹痛の方がしんどかった。

lolipop鯖が障害を起こし、HDDが逝ったらしい。
が復旧しても404のまま。
データの復旧してくれないのかーと思ったらその通りだった。

第5章 管理 第19条 (アカウントとデータの管理) 甲が発行したアカウント及びパスワードの第三者への貸し出しを禁止とします。 甲が発行したアカウント及びパスワードの管理は乙が一切の責任を負うものとし、甲は、第三者のアカウント及びパスワードの不正使用等によリ乙に生じたすべての損害についての責任を負わないものとします。 乙が手違いにより必要なファイルを削除し、サーバにログイン出来ない場合等のアカウント及びパスワード再設定には、甲は再設定料金を請求するものとします。 乙が第三者にパスワードを知られた又は知られた可能性がある場合は、速やかに会員専用ページよりパスワードの変更を行うものとします。 乙のディスクエリア内のデータのバックアップ管理は乙が一切の責任を持つものとし、サーバの障害などによって乙のディスクエリアのデータが消失しても、 甲は故意または重過失によるものを除いて一切の責任を負わないものとします。

 Ω < な、なんだってー!

・利用規約をちゃんと読む
・定期的にバックアップを取る

分かっちゃいるがなかなかできませんなぁ...。

バックアップとってのが2007年12月が最後というのがつらいなぁ。1.5年分のデータどーしよー。とりあえずgoogle先生のキャッシュから漁れるだけ漁ってみるか。

こんな時ぐらいしかMovableTypeを弄る機会が無いので3系から4系にしてテンプレートもデフォルトに戻してみた。標準でコメント認証のCaptcha機能が使えるのはすごい。が設定にしばらくハマった。

このアーカイブについて

このページには、2009年8月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年3月です。

次のアーカイブは2009年9月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenID対応しています OpenIDについて
Powered by Movable Type 4.261