【.cmd】 バッチファイルスクリプト %15 【.bat】 (760レス)
前次1-
抽出解除 レス栞

11
(1): デフォルトの名無しさん [sage] 2022/09/26(月) 01:54:43.87 ID:yGyQXERn(1) AAS
%random%
じゃなくて
!random!
17: デフォルトの名無しさん [] 2022/09/26(月) 21:36:40.64 ID:ou4YDIZU(3/3) AAS
>>11
>>14
14(1): デフォルトの名無しさん [sage] 2022/09/26(月) 11:49:53.74 ID:7oxCYWvG(2/2) AAS
>>10
set /a hoge1=!random!, hoge2=!random!, hoge3=hoge1+hoge2

set /a は , 区切りで複数の式を指定可
環境変数は展開せずとも計算可能。その場合存在しない変数名は0として扱われ、展開した場合(多くはエラーになる)とは違ってくるので意図した計算になっていない事に気付き難い事に注意が必要
random などの特殊環境変数は環境変数としては存在せず、展開時に代入されるので展開が必要

setlocal enabledelayedexpansion
for /L %%i in (1,1,4) do (
set /a a=!random!, b=!random!, c=a+b
echo !c!
)
pause

こんな風にも書ける
set /a c=(a=!random!)+(b=!random!)
echo !a! + !b! = !c!

「遅延環境変数」という名称はそういう変数が別にあるのかと紛らわしくて良く無いと思うわ
環境変数
特殊変数
標準展開、事前展開、%展開 (展開されてから構文解析)
遅延展開、!展開 (構文解析されてからコマンド実行直前に展開)
用いるなら「環境変数の遅延展開」だろう

ありがとうございます。
うまく動きました!
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.215s*