拡張子が .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/
【.cmd】 バッチファイルスクリプト %15 【.bat】
■ このスレッドは過去ログ倉庫に格納されています
2022/09/14(水) 20:04:01.36ID:XL8H98jz
2デフォルトの名無しさん
2022/09/16(金) 00:28:41.18ID: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 がみつかりません。
変数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 がみつかりません。
3デフォルトの名無しさん
2022/09/16(金) 00:29:57.20ID:9kvq1ahn FOR /f "tokens=1,2,3 delims=," %%a in (%HOGE%) do (
ECHO %%a %%b %%c
)
の間違いでした。だれか助けて〜
ECHO %%a %%b %%c
)
の間違いでした。だれか助けて〜
2022/09/16(金) 00:32:46.68ID:/mniU0r8
for /?
for /f
(ファイル)
("文字列")
('コマンド')
for /f
(ファイル)
("文字列")
('コマンド')
5デフォルトの名無しさん
2022/09/16(金) 00:42:16.15ID:9kvq1ahn6デフォルトの名無しさん
2022/09/25(日) 20:41:32.40ID:0LVDTkG9 set /a hoge1=%random%
set /a hoge2=%random%
set /a hoge3=%hoge1%+%hoge2%
echo %hoge3%
hoge3のところには単に「+」と表示され、
echoのところにはなにも表示されず、
その次に「オペラントがありません」と表示されます。
これはなにが起こっているのでしょうか…
set /a hoge2=%random%
set /a hoge3=%hoge1%+%hoge2%
echo %hoge3%
hoge3のところには単に「+」と表示され、
echoのところにはなにも表示されず、
その次に「オペラントがありません」と表示されます。
これはなにが起こっているのでしょうか…
2022/09/26(月) 00:15:07.76ID:7oxCYWvG
if とか for のブロックの中?
https://otnx.jp/CMD/?%C1%B4%C8%CC/%B9%BD%CA%B8%B2%F2%C0%CF
https://otnx.jp/CMD/?%C1%B4%C8%CC/%B9%BD%CA%B8%B2%F2%C0%CF
8デフォルトの名無しさん
2022/09/26(月) 00:46:39.21ID:ou4YDIZU >>7
御明察です!理由が分かって安心しました。ありがとうございます。
forループの中で、このような処理を書くことはできないのでしょうか。毎回ランダムで少し変えて実行する、という処理を書きたいのですが…
御明察です!理由が分かって安心しました。ありがとうございます。
forループの中で、このような処理を書くことはできないのでしょうか。毎回ランダムで少し変えて実行する、という処理を書きたいのですが…
2022/09/26(月) 01:01:52.99ID:3mhNpNjH
for文の展開で解釈が一回多く入るから1回目の解釈後も環境変数として残すようにする
%%hoge%% → %hoge% → 環境変数hogeの中身に置換
上の方法はトリッキーなので正規には遅延環境変数展開を使う(setlocal /?)
setlocal EnableDelayedExpansion
%%hoge%% → %hoge% → 環境変数hogeの中身に置換
上の方法はトリッキーなので正規には遅延環境変数展開を使う(setlocal /?)
setlocal EnableDelayedExpansion
10デフォルトの名無しさん
2022/09/26(月) 01:47:37.41ID:ou4YDIZU >>9
ありがとうございます!できました!
setlocal enabledelayedexpansion
forループの初め
set /a hoge1=%random%
set /a hoge2=%random%
set /a hoge3=!hoge1!+!hoge2!
echo !hoge3!
forループの終わり
という風にしたら、動きました。
デフォルトではforループ全体が一気に読み込まれるので、変数への代入が実行される前に変数の内容が確定してしまうという仕様なんですね。それを回避するために、!を付けて展開遅延変数を用いる、ということですね。
ただ、ランダムにしたはずなのに、毎回同じ値が表示されますね…
何故…
ありがとうございます!できました!
setlocal enabledelayedexpansion
forループの初め
set /a hoge1=%random%
set /a hoge2=%random%
set /a hoge3=!hoge1!+!hoge2!
echo !hoge3!
forループの終わり
という風にしたら、動きました。
デフォルトではforループ全体が一気に読み込まれるので、変数への代入が実行される前に変数の内容が確定してしまうという仕様なんですね。それを回避するために、!を付けて展開遅延変数を用いる、ということですね。
ただ、ランダムにしたはずなのに、毎回同じ値が表示されますね…
何故…
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【W杯】ベルギー、イランとも2試合連続のドロー! ベルギーが後半に退場者もイランは攻め切れず/ベルギー 0-0 イラン [征夷大将軍★]
- 【速報】星野真里(44) 24時間テレビのマラソンランナーに決定! ★2 [Ailuropoda melanoleuca★]
- 【芸能】松山千春、本田圭佑の解説に「なんで『さん』付けで呼ぶんだ?」「後輩なんだからさ」「つけない方がわかりやすいんじゃ…」 [冬月記者★]
- 【サッカーW杯】4-0 日本代表・森保ジャパン、チュニジアに歴史的4発大勝 アジア勢の1次L連敗を「6」で止めた★6 [ゴアマガラ★]
- 40歳男性・生活保護受給者 “グリ下のくすり屋さん”1つの医療機関から2万錠の薬を大量入手、「薬をめっちゃ売っていた」 [お断り★]
- 家族と来た水族館で…10代女性のスカート内を盗撮か 45歳の男を現行犯逮捕 静岡・下田市 [煮卵★]
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★139【メキシコ/カナダ/アメリカ】
- はません
- 2026 MotoGP Lap38【チェコGP】
- こいせん祝勝会 全レス転載禁止
- 【マターリ】日本vsチュニジア ★2
- わしせん3
- 【悲報】イランとの交渉、トランプがキチガイ発言しまくるせいで破綻😭
- ライン通話してるとオナニー始まるんだが
- みぽんぬジャンプって何だよ
- チン毛丸出しの金玉アナルボーイズ達へ
- なんで外国人の生活支援に税金が使われるんだ?
- お前らAm7