携帯変換が完了しました。
携帯からアクセスするにはこちらのQRコード、またはURLを携帯端末へメールでお送り下さい。
携帯にメールを送信する
読みにくいと考えています。 なぜなら rem のスペルを読み終わるまでの間、 それが命令なのかどうかを判断できないからです。 この間はほぼ一瞬です。 しかし一瞬でも意識を奪われる可能性があるのであれば良い記法とは言えません。 一方でコロンは記号ですから命令の名前ではありえません (MS-DOSやWindowsでは)。 したがってバッチファイル中に現れるコロンはラベルの宣言かコメント開始のどちらかであり、 プログラム的な意味が無いものだとすぐに理解できます。 この点で、私はコロン二つの方法が良いと思っています。

ところでバッチファイルにおいてコロンで始まる行はラベル (GOTO の章にて後述) の宣言です。 すると、 コロン二つで始まる行は「コロンで始まるラベル」を宣言する行となり、 結果的に何も起こっていないように見えるのではないか、 と疑うこともできます。 とはいえ、仮にそうだとしても、 現在のコンピュータ性能を考えれば意味の無い心配でしょう。 無駄になるリソースも問題にならないほど少ないですし、 ラベルの名前がバッティングする事も普通はありません。 むしろコメントの読みやすさがもたらす利益の方が大きい、 というのが私の考えです。

(なお、コロン二つは恐らくラベル定義です。 後述する if や for 中でのコロン二つによるコメントが上手に動作しない場合があるのはそのためだと思います。 しかしラベルとして考えた場合、 後述の goto 命令でジャンプしようとしてもジャンプできないなど不可解な点もあります。 結局のところ、厳格な仕様も無いバッチファイルの細かい点はあまり深追いしない方が良いのではないでしょうか。)

変数

バッチファイルではシステム共通の「環境変数」を扱えるため、 これを使ってバッチファイル中で値を保存・参照する事ができます。 次に、環境変数 MyVar に文字列を設定して表示するバッチファイルの例を示します。

set MyVar=Hello, my name is YAMAMOTO Suguru. Nice to meet you :)
echo %MyVar%

環境変数に値を設定するには SET 命令を使います。 具体的には SET に続けて変数名を書き、 その後ろに = 記号、そして設定する値を書きます。 環境変数に設定された値を参照するには変数名を % 記号で挟んで書きます。

ところで環境変数はシステム共有であり、 不用意に変更すると影響がシステム全体に及んでしまいます。 そこで、実行中のバッチファイルの中だけで有効な環境変数を作る仕組みが用意されています。 この仕組みを利用するには、まず SETLOCAL 命令を実行し、 その変数を使い終わったら ENDLOCAL 命令を実行します。 次に例を示します。

:: システム共通の変数を表示(出力は "" と "Windows_NT" など)
echo "%Hoge%"
echo "%OS%"

:: 環境変数のローカル化を開始
setlocal

:: ローカルな変数に値を設定
set Hoge=piyo
set OS=Linux Is Not UNix

:: ローカルな変数を表示(出力は "piyo" と "Linux Is Not UNix...")
echo "%Hoge%"
echo "%OS%"

:: 環境変数のローカル化を終了
endlocal

:: システム共通の変数を表示(出力は "" と "Windows_NT" など)
echo "%Hoge%"
echo "%OS%"

実際に使用する場合は、 バッチファイルの最初で SETLOCAL を呼ぶ形になると思います。 なお ENDLOCAL はバッチファイルを終了するタイミンク


FC2携帯変換について
->続きを表示
<-最初へ戻る
◆ツール
◆設定
▲上へ
このページはFC2携帯変換によってPC向けのページが携帯電話向けに変換されたものです
Powered by FC2