【.cmd】 バッチファイルスクリプト %15 【.bat】 (760レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
20: デフォルトの名無しさん [sage] 2022/09/29(木) 13:35:46.81 ID:ezl+1hvw(1) AAS
確かに違わないんだけど、どう違わないのか勝手に補足。

set /?に基づくここでの用語定義:
・「環境変数」(一般変数)
   … 値が一旦決まれば勝手には値が変わらない普通の環境変数。Windowsの機能がベース。
・「動的な環境変数」(dynamic environment variables)(特殊変数)
   …「RANDOM」「ERRORLEVEL」など。cmdの独自機能。

仕様仮定(私の認識):
・set /a での名前だけで値を参照できる機能は「環境変数」だけ対象としている。
・cmdの構文解釈による「%〜%」で値を参照できる機能は
 「環境変数」と「動的な環境変数」を対象としている。

以上を踏まえたうえで
「set /a a=random」の「random」は「動的な環境変数」ではなく「環境変数」であり、
『他の「環境変数」の扱い』と「違わない」。

「一般変数と処理が違う」のはcmdによる構文解釈の「%〜%」での扱い。

また、「set /a a=%random%」での「%random%」は
まずcmdの構文解釈により「動的な環境変数」として「123」のように展開され
「set /a a=123」となり、setには「環境変数」すら使われていないように見える。

※cmdの内部コマンドである「set」からは「動的な環境変数」も見えてもいいのにね。
 同じく内部コマンドの「if」からは見えてるみたいだし。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.033s