コマンドプロンプト・バッチファイルの技メモ

やあ子供たち元気にやってるかい。上司にはちゃんと言いたいこと言っているか?でないと週末とかでも心が病気になっちゃうぞ。ただし言い方には気をつけろ。あるいはC++とか興味ない人に無理やり勉強させて、わからなかったら俺に聞けとかエラそーにふんぞり返ったりしてないかな。そんなことしたら社会全体がだめになってしまうから自分の胸に手をあてて人材育成・適材適所という言葉の意味についてよく考えてみてくれよな。

@echo off
echo %1
echo %~1
echo %~n1
echo %~d1
echo %~p1
echo %~ndp1
echo %~f1
echo %~t1
echo %~s1
echo %~x1
echo %~z1
pause

さて今日は上記のように記述したテキストファイルを、test.batなどのファイル名で保存し、コンピュータ上の任意のファイルをその上にドロップして結果を見てみるという遊びだよ。パスやファイル名に、スペースなどが含まれている方がいいかも知れない。結果は以下のようになった。

"D:\Program Files2\SubCapt.exe"
D:\Program Files2\SubCapt.exe
SubCapt
D:
\Program Files2\
D:\Program Files2\SubCapt
2010/03/26 00:18
D:
D:\PROGRA~1\SubCapt.exe
.exe
97792

どうかな、~(チルダ修飾子)はいろいろと便利に使えそうなそうな感じがしないだろうか。
とくに、「%~ndp1」なんてのは、拡張子だけ変えて何かファイルをコピーしたいときとかに大変べんりそうじゃないかこれ。あとはアンダバーつけた新しいキーワードを後ろにつけたい場合とか使えそうだ。
あと関係ないけど詳しく知りたい人は、set /? と打ち込んでみると、コマンドプロンプトの詳細をみることができるみたいだ。英語だけどな。うそちゃんと日本語で出るよ。
じゃ今日はこの辺で。またな!