0
コードを動作していないため、このです:終わりバッチ:ループが
@echo off
set str=abcd
for /L %%i in (1,1,4) do set str=%str%%str%
echo %str%
、私はstrが長い文字列になりたいです。しかし、その価値はabcdabcdだけです。なにが問題ですか?なぜこうなった?
コードを動作していないため、このです:終わりバッチ:ループが
@echo off
set str=abcd
for /L %%i in (1,1,4) do set str=%str%%str%
echo %str%
、私はstrが長い文字列になりたいです。しかし、その価値はabcdabcdだけです。なにが問題ですか?なぜこうなった?
@Barışの場合は、と重複した質問を入力する前に検索バーを使用してください。
setlocal enabledelayedexpansion
を使用し、
delayedexpansion
が必要になります。
@echo off
setlocal enabledelayedexpansion
set str=abcd
for /L %%i in (1,1,4) do set str=!str!!str!
echo %str%
お知らせ%str%
は!str!
なり(!時間フェージングない、コマンド実行時に変数を拡張することを意味する。)
これを行うための別の方法は、@JosefZ
for /L %%i in (1,1,4) do call set str=%%str%%%%str%%
で言及されていますこれはcall
の特殊な変数拡張トリックを使用します。
あなたは[遅延拡張](https://ss64.com/nt/delayedexpansion.html) – npocmaka
'/ L %% i for(1,1,4)doコールセットstr = %% str %% %% str %% 'は遅延拡張の有効/無効にかかわらず、このトリックを行う必要があります。 – JosefZ