【.cmd】 バッチファイルスクリプト %15 【.bat】 (907レス)
上下前次1-新
15: 2022/09/26(月)12:58 ID:3mhNpNjH(2/2) AAS
英語だと
delayed expansion
delayed variable expansion
説明文的には
Enables the delayed environment variable expansion
Setting EnabledDelayedExpansion will cause each variable to be expanded at execution time rather than at parse time
16(2): 2022/09/26(月)17:38 ID:dNpEj5o9(1) AAS
set /a a=random
は0なんやな
一般変数と処理が違うんだ
17: 2022/09/26(月)21:36 ID:ou4YDIZU(3/3) AAS
>>11
>>14
ありがとうございます。
うまく動きました!
18: 2022/09/28(水)11:14 ID:RG22wEyx(1) AAS
>>16
> 一般変数と処理が違うんだ
違わない
set a=
set random=
set /a b=a, c=random
echo %b%, %c%, %random% #set /a では環境変数として定義されていない文字列は0として扱われる
set a=1
set random=1
set /a b=a, c=random
省4
19: 2022/09/28(水)12:04 ID:Cg5haYXb(1) AAS
>>16
set /a a=%random%
20: 2022/09/29(木)13:35 ID:ezl+1hvw(1) AAS
確かに違わないんだけど、どう違わないのか勝手に補足。
set /?に基づくここでの用語定義:
・「環境変数」(一般変数)
… 値が一旦決まれば勝手には値が変わらない普通の環境変数。Windowsの機能がベース。
・「動的な環境変数」(dynamic environment variables)(特殊変数)
…「RANDOM」「ERRORLEVEL」など。cmdの独自機能。
仕様仮定(私の認識):
・set /a での名前だけで値を参照できる機能は「環境変数」だけ対象としている。
・cmdの構文解釈による「%〜%」で値を参照できる機能は
「環境変数」と「動的な環境変数」を対象としている。
省9
21: 2022/10/05(水)15:17 ID:NmGDxxah(1/2) AAS
質問です。
ファイルのフルパスを表示するときに、
このコマンド使っていますよ、という意味で
rem %0
echo %0
と買いているんですが、remの方の変数まで展開されてしまいます。
展開させずに文字列のまま表示するにはどうしたらよいでしょうか?
22(1): 2022/10/05(水)15:28 ID:yuT90fin(1) AAS
rem %%0
23: 2022/10/05(水)16:34 ID:NmGDxxah(2/2) AAS
>>22
出来ました!ありがとうございます。
24: 2022/10/08(土)17:33 ID:zk6uj/6h(1/2) AAS
C:\test>"C:\test\app.exe"
というコマンドを間違えて実行したらapp.exeが0バイトに書き変わったのですがなぜでしょうか
25: 2022/10/08(土)17:43 ID:f2a8Snt9(1/2) AAS
空の標準出力をリダイレクトで書き込んでるからだろう
26: 2022/10/08(土)17:48 ID:R/0NVeNc(1) AAS
なぞなぞじゃね?
27(1): 2022/10/08(土)18:00 ID:zk6uj/6h(2/2) AAS
コマンドプロンプトからバッチファイルにコピペしたら間違えて作業フォルダが付いてしまって
何かのコマンドなのでしょうか
28: 2022/10/08(土)18:59 ID:f2a8Snt9(2/2) AAS
オカルトかな?
ん?お前のパソコン何かおかしくね?
29: 2022/10/08(土)21:15 ID:4RiXxOsU(1) AAS
>>27
日本語でOK
30(1): 2022/10/08(土)21:20 ID:NCKRr8hU(1) AAS
エラーになってもリダイレクトは実行されちゃうんだな
バグとちゃうか
31: 2022/10/08(土)21:31 ID:bRwGYufv(1) AAS
プロンプトまでバッチにコピペするなよ
32: 2022/10/09(日)11:18 ID:yk0ofCIK(1) AAS
>>30
指定された実行対象ファイルがない、
というのは実行時エラーなので(構文エラーではない)
そのエラーメッセージをファイルリダイレクトして記録できる事は有益。
なのでバグ(仕様バグ)ではないと思われる。
33: 2022/10/09(日)12:38 ID:r7gKIzvL(1) AAS
一貫性のある動きだよな
エラー出力は欲しいけど標準出力はリダイレクト自体をなかったことにしてくれというのは無理がある
そもそもリダイレクト先がログファイルなら気にも留めないような話
びっくりする理由があるとしたらexeにリダイレクトしても容赦なく書き換えられるという点で、コマンドラインはそういう点で結構慈悲がない
ある程度はパワーユーザー向けという位置付けなので気をつけるしかない
34: 2022/10/12(水)04:44 ID:Jko2ebMR(1) AAS
window-position異なる位置のバッチをそれぞれ作ってるのですが
bat2個目を起動すると1個目の起動したバッチにつられてカスケード起動します
何か対処方法ありますでしょうか?
上下前次1-新書関写板覧索設栞歴
あと 873 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s