【.cmd】 バッチファイルスクリプト %15 【.bat】 (762レス)
【.cmd】 バッチファイルスクリプト %15 【.bat】 http://mevius.5ch.net/test/read.cgi/tech/1663153441/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん [sage] 2022/09/14(水) 20:04:01.36 ID:XL8H98jz 拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる 質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです ※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう 過去スレ %14 https://mevius.5ch.net/test/read.cgi/tech/1597442426/ %13 https://mevius.2ch.net/test/read.cgi/tech/1542779527/ %12 https://mevius.2ch.net/test/read.cgi/tech/1489207631/ %11 https://echo.2ch.net/test/read.cgi/tech/1424858999/ %10 https://peace.2ch.net/test/read.cgi/tech/1374205515/ %9 https://toro.2ch.net/test/read.cgi/tech/1335015478/ %8 https://toro.2ch.net/test/read.cgi/tech/1315844420/ %7 https://hibari.2ch.net/test/read.cgi/tech/1298873550/ %6 https://hibari.2ch.net/test/read.cgi/tech/1277465356/ %5 https://pc12.2ch.net/test/read.cgi/tech/1242268171/ %4 https://pc12.2ch.net/test/read.cgi/tech/1229955189/ %3 https://pc11.2ch.net/test/read.cgi/tech/1217860043/ %2 https://pc11.2ch.net/test/read.cgi/tech/1197881068/ 【.cmd】 バッチファイルスクリプト %1 【.bat】 https://pc11.2ch.net/test/read.cgi/tech/1178281991/ バッチファイルプログラミング 3.bat https://pc11.2ch.net/test/read.cgi/tech/1148485555/ バッチファイルプログラミング 2.bat https://pc8.2ch.net/test/read.cgi/tech/1104911889/ バッチファイルプログラミング質問スレ https://pc5.2ch.net/test/read.cgi/tech/1040614686/ http://mevius.5ch.net/test/read.cgi/tech/1663153441/1
2: デフォルトの名無しさん [] 2022/09/16(金) 00:28:41.18 ID:9kvq1ahn 助けてください。 変数HOGEをキー入力してsplit()的な区切り文字列で分割する挙動を取りたいのですが なぜかファイルが見つかりませんとなります。 リテラルでSET HOGE=1,2,3と記述していれば希望の動作となります。 半日困って今日は会社にお泊りです。誰か教えてください。 REM キー入力でHOGEに"1,2,3"と入力する SET /P HOGE= FOR /f "tokens=1,2 delims=," %%a in (%HOGE%) do ( ECHO %%a %%b %%c ) OUTPUT ファイル 0_0 がみつかりません。 http://mevius.5ch.net/test/read.cgi/tech/1663153441/2
3: デフォルトの名無しさん [] 2022/09/16(金) 00:29:57.20 ID:9kvq1ahn FOR /f "tokens=1,2,3 delims=," %%a in (%HOGE%) do ( ECHO %%a %%b %%c ) の間違いでした。だれか助けて〜 http://mevius.5ch.net/test/read.cgi/tech/1663153441/3
4: デフォルトの名無しさん [sage] 2022/09/16(金) 00:32:46.68 ID:/mniU0r8 for /? for /f (ファイル) ("文字列") ('コマンド') http://mevius.5ch.net/test/read.cgi/tech/1663153441/4
5: デフォルトの名無しさん [] 2022/09/16(金) 00:42:16.15 ID:9kvq1ahn >>4 ありがとうございます! 神! http://mevius.5ch.net/test/read.cgi/tech/1663153441/5
6: デフォルトの名無しさん [] 2022/09/25(日) 20:41:32.40 ID:0LVDTkG9 set /a hoge1=%random% set /a hoge2=%random% set /a hoge3=%hoge1%+%hoge2% echo %hoge3% hoge3のところには単に「+」と表示され、 echoのところにはなにも表示されず、 その次に「オペラントがありません」と表示されます。 これはなにが起こっているのでしょうか… http://mevius.5ch.net/test/read.cgi/tech/1663153441/6
7: デフォルトの名無しさん [sage] 2022/09/26(月) 00:15:07.76 ID:7oxCYWvG if とか for のブロックの中? https://otnx.jp/CMD/?%C1%B4%C8%CC/%B9%BD%CA%B8%B2%F2%C0%CF http://mevius.5ch.net/test/read.cgi/tech/1663153441/7
8: デフォルトの名無しさん [] 2022/09/26(月) 00:46:39.21 ID:ou4YDIZU >>7 御明察です!理由が分かって安心しました。ありがとうございます。 forループの中で、このような処理を書くことはできないのでしょうか。毎回ランダムで少し変えて実行する、という処理を書きたいのですが… http://mevius.5ch.net/test/read.cgi/tech/1663153441/8
9: デフォルトの名無しさん [sage] 2022/09/26(月) 01:01:52.99 ID:3mhNpNjH for文の展開で解釈が一回多く入るから1回目の解釈後も環境変数として残すようにする %%hoge%% → %hoge% → 環境変数hogeの中身に置換 上の方法はトリッキーなので正規には遅延環境変数展開を使う(setlocal /?) setlocal EnableDelayedExpansion http://mevius.5ch.net/test/read.cgi/tech/1663153441/9
10: デフォルトの名無しさん [] 2022/09/26(月) 01:47:37.41 ID:ou4YDIZU >>9 ありがとうございます!できました! setlocal enabledelayedexpansion forループの初め set /a hoge1=%random% set /a hoge2=%random% set /a hoge3=!hoge1!+!hoge2! echo !hoge3! forループの終わり という風にしたら、動きました。 デフォルトではforループ全体が一気に読み込まれるので、変数への代入が実行される前に変数の内容が確定してしまうという仕様なんですね。それを回避するために、!を付けて展開遅延変数を用いる、ということですね。 ただ、ランダムにしたはずなのに、毎回同じ値が表示されますね… 何故… http://mevius.5ch.net/test/read.cgi/tech/1663153441/10
11: デフォルトの名無しさん [sage] 2022/09/26(月) 01:54:43.87 ID:yGyQXERn %random% じゃなくて !random! http://mevius.5ch.net/test/read.cgi/tech/1663153441/11
12: デフォルトの名無しさん [sage] 2022/09/26(月) 05:19:01.77 ID:L5dyrqoL そういえば、181系って、完全に揃った編成ってあったんだろうか? 台車違いの編入車や、485系仕様の編入車・新製車とかで、 いつも凸凹でちぐはぐだったイメージしかない もし、153系の前面が165系の塗りになったら 足回りとか見慣れた目にはやっぱり違和感あるんだろうなぁ クハ164は塗装変更しないで正解だったと思うわ http://mevius.5ch.net/test/read.cgi/tech/1663153441/12
13: デフォルトの名無しさん [sage] 2022/09/26(月) 05:19:38.74 ID:L5dyrqoL 誤爆失礼! http://mevius.5ch.net/test/read.cgi/tech/1663153441/13
14: デフォルトの名無しさん [sage] 2022/09/26(月) 11:49:53.74 ID:7oxCYWvG >>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! 「遅延環境変数」という名称はそういう変数が別にあるのかと紛らわしくて良く無いと思うわ 環境変数 特殊変数 標準展開、事前展開、%展開 (展開されてから構文解析) 遅延展開、!展開 (構文解析されてからコマンド実行直前に展開) 用いるなら「環境変数の遅延展開」だろう http://mevius.5ch.net/test/read.cgi/tech/1663153441/14
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 748 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.338s*