とっちゃん's Blog

WindowsInstaller に WiX はいかがですか~

目次

Blog 利用状況

ニュース

とっちゃんって?

コミュニティ

@ITの記事

CodeZineの記事

WiX チュートリアル

Windows ユーザー エクスペリエンス ガイドライン

唯一の日本語書籍

記事カテゴリ

書庫

日記カテゴリ

インストーラ関連

旧館

バッチファイルにサブルーチンが持てたのか!

Visual Studio をインストールするとスタートメニューにSDKなどのパスを設定したバッチを実行して起動するコマンドプロンプトがあります。

で、こいつが、SDKのパスとかを引っ張ってくれるんですが。。。

何気なく見てたら

call :Label

:Label
echo さぶるーちん
exit /B 0

という形でサブルーチンが作られてるんですよ。。。

いやぁ。。。長らくおつきあさせてもらってますが、サブルーチンコールできるなんて知りませんでした。。。orz

投稿日時 : 2009年6月26日 11:04

コメントを追加

# re: バッチファイルにサブルーチンが持てたのか! 2009/06/26 11:08 とっちゃん

exit /B で、一度処理を終了したことにするみたいですね。

ヘルプによると GOTO :EOF しろって書かれてました。

ま、なんにしてもちょっとトリッキーな手段を持っているようなので、あまりお勧めできるものじゃない気がするなーw

# re: バッチファイルにサブルーチンが持てたのか! 2009/06/26 11:12 aetos

サブルーチンと言えばサブルーチンだけど、call は本来、別のバッチファイルを呼びだすものであることと、exit を使っていることから、サブルーチンを書いた別のファイルをマージしたような感じ、でしょうかね。

# re: バッチファイルにサブルーチンが持てたのか! 2009/06/26 11:22 とっちゃん

内部的には、一次的に別ファイルに切り出して呼び出すという感じが一番正しいのかな。

という気がします。
どっちにしても、ちょっと変わったテクニックとしては面白いけど、それで終わり。。。だなーw

# re: バッチファイルにサブルーチンが持てたのか! 2009/06/26 11:39 みきぬ

for と組み合わせると、結構いろんなことがでけまっせ。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=47491&forum=6&start=8

# re: バッチファイルにサブルーチンが持てたのか! 2009/06/26 12:23 とっちゃん

for 使って別ファイル呼び出しはやってるんですよねーw

CALLを初めて使ったときに感動したことは覚えてますが(これで繰り返しが楽になるーとw)
時代は、別ファイルを必要としなくなっていたというほうが驚きですよwww

# re: バッチファイルにサブルーチンが持てたのか! 2009/06/26 15:45 しらが

exitはそれなりに打つ機会はあったのですが、これにパラメータがあるなんて、初めて知りました。

あ、"call :ラベル"も初めてだわ....
こっちは"コマンド拡張機能"ONで使えることから、NT系でのみ、と予想できますが、どのバージョンから出来るようになってるんだろう....?(少なくとも、W2kではOK)

# re: バッチファイルにサブルーチンが持てたのか! 2009/06/28 9:32 ちゃっぴ

Fix user profile junction tool
http://blogs.wankuma.com/tyappi/archive/2008/06/08/142283.aspx

な感じで使いまくってます。

タイトル
名前
URL
コメント