【.cmd】 バッチファイルスクリプト %15 【.bat】at TECH【.cmd】 バッチファイルスクリプト %15 【.bat】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト19:デフォルトの名無しさん 22/09/28 12:04:21.93 Cg5haYXb.net >>16 set /a a=%random% 20:デフォルトの名無しさん 22/09/29 13:35:46.81 ezl+1hvw.net 確かに違わないんだけど、どう違わないのか勝手に補足。 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」からは見えてるみたいだし。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch